我正在尝试使用 Excel VBA 生成两个数字。介于 1 和 11 之间。如果数字相等,则第二个应该从随机重新生成。如果第一个是 8 或 9,那么第二个不应该是 8 或 9。如果是,它应该再次从随机生成。
这是我的代码:
Sub Foo()
Dim thisNum As Integer
Dim thatNum As Integer
thatNum = Int((11 * Rnd) + 1)
thisNum = Int((11 * Rnd) + 1)
Do While thisNum = thatNum
thatNum = Int((11 - 1 + 1) * Rnd + 1)
break
Loop
Do While (thisNum = 8 Or 9) And (thatNum = 8 Or 9)
thatNum = Int((11 - 1 + 1) * Rnd + 1)
break
Loop
Range("F1").Value = thisNum
Range("G1").Value = thatNum
End Sub
它崩溃了,并且没有错误。我应该怎么办?