VBA覆盖错误6溢出(创建无限循环)?

时间:2015-06-09 13:53:18

标签: vba overflow

我想在VBA中使用无限循环(之前我已经在Java和C ++中完成了这个)。我继续使用VBCritical红色圆圈X“溢出”。

这是我的代码。错误<> 0应该识别溢出并忽略它以让宏继续无限循环,但我仍然得到溢出VBCritical MsgBox。

我想在A栏打印出数字。这部分现在可以使用:它打印“2”。

这是我的代码:

Sub InfiniteLoop()
Dim counter As Integer
counter = 1
Do While counter > 0
    counter = counter + 1

Loop
If Error <> 0 Then
    Do While counter > 0
    counter = counter + 1
    Cells(counter, "A").Value = counter
    Loop
End If
End Sub

2 个答案:

答案 0 :(得分:1)

对于从0..32767重复运行的循环(最大整数可以保持)

Do While True
    counter = (counter + 1) Mod 32768
    ...
Loop

如果您将counter调暗为Long,则最大值为2147483647.

答案 1 :(得分:0)

你能不能这样做吗?并且根本不增加计数器?

Sub InfiniteLoop()
Dim counter As Integer
counter = 1
Do While counter > 0

Loop
End Sub