VBA for..不支持字节数据类型的下一个循环



为什么我会得到错误6"溢出";用这个代码?我很困惑。。

Sub test()
Dim i as byte
For i = 3 To 2 step - 1
Debug.Print i
Next
End Sub

与integer类型相同。

在这种情况下,step也是Byte类型,字节只能是0。。。255,因此产生溢出。如果你只是简单地进行,也会发生同样的情况

dim i as byte
i = -1

甚至使用

For i = 200 To 255
Debug.Print i
Next

因为,在最后一个循环结束时,i在进行比较之前在next语句中递增(<=255(,这种递增会导致溢出错误。

最新更新