2

我正在尝试使用以下代码调用一些潜艇:

For i = 1 To 20
    Call staff i
    i = i + 1
Next i

这假设调用Sub staff1(),,Sub staff2()等等Sub staff3(),但我在这里遗漏了一些东西......

有人知道我该怎么办?

4

3 回答 3

3

利用

Run "staff" & i

而不是打电话

当然,有可能——而且更好——有一个例程并将 i 作为参数传递

于 2013-07-10T09:26:18.867 回答
2

您可以使用Application.Run

Option Explicit

Sub Main()
    Dim ProcName As String

    For i = 1 To 3
        ProcName = "Staff" & i
        Application.Run ProcName
    Next i
End Sub

Sub Staff1()
    MsgBox "A"
End Sub

Sub Staff2()
    MsgBox "B"
End Sub

Sub Staff3()
    MsgBox "C"
End Sub
于 2013-07-10T09:26:48.760 回答
1

在这种情况下,请使用以下方式调用您的潜艇:

Dim i
For i = 1 To 20
    Application.Run "staff" & i
Next i
于 2013-07-10T09:26:08.913 回答