我这里有一段代码可以随机化一些数字并将数字分配给数组中的其他数字。我听说由于某种原因使用GoTo是低效的。 我的问题是,有没有任何方法不使用GoTo,因为我尝试使用sub但它不起作用,因为for循环中的x变量没有继续前进到下一个Sub。
Sub Randomizer() 'usednum.Add(i)
For x = 1 To 10
Start:
Randomize()
randomint = (Rnd() * 9) + 1
If randomint = usednum(1) Then
GoTo Start
ElseIf randomint = usednum(2) Then
GoTo Start
ElseIf randomint = usednum(3) Then
GoTo Start
ElseIf randomint = usednum(4) Then
GoTo Start
ElseIf randomint = usednum(5) Then
GoTo Start
ElseIf randomint = usednum(6) Then
GoTo Start
ElseIf randomint = usednum(7) Then
GoTo Start
ElseIf randomint = usednum(8) Then
GoTo Start
ElseIf randomint = usednum(9) Then
GoTo Start
ElseIf randomint = usednum(10) Then
GoTo Start
Else
randnum(x) = randomint
usednum(x) = randomint
End If
Next
End Sub