For循环中的GoTo的Visual Basic替代

时间:2015-11-05 17:45:43

标签: vba

我这里有一段代码可以随机化一些数字并将数字分配给数组中的其他数字。我听说由于某种原因使用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

0 个答案:

没有答案