我是VBA的新手,这看起来很简单,但是当我运行代码时,它会继续创建随机数,直到它最终给我一个溢出消息。我可以告诉它可以读取总数,但我不知道为什么它不会停止。
Dim i As Integer
Dim total As Integer
i = 1
total = Range("C1")
Do While total < 180
Cells(i, 1).Value = Int((10 - 3 + 1) * Rnd + 3)
i = i + 1
Loop
感谢您的帮助。
答案 0 :(得分:2)
我假设C1有某种类型的总和或某些东西正在增长,而VBA正在填充数字,如果是这种情况那么你只需要在每个循环结束时重新评估总数。这对我有用......
Dim i As Integer
Dim total As Integer
i = 1
total = Range("C1")
Do While total < 180
Cells(i, 1).Value = Int((10 - 3 + 1) * Rnd + 3)
i = i + 1
Application.Calculate 'Only needed if manual calculation is on
total = Range("C1")
Loop
答案 1 :(得分:1)
我认为您在while循环中使用了错误的变量。你的意思是总&lt; 180或i&lt; 180?