我正在尝试使用以下代码调用一些潜艇:
For i = 1 To 20
Call staff i
i = i + 1
Next i
这假设调用Sub staff1()
,,Sub staff2()
等等Sub staff3()
,但我在这里遗漏了一些东西......
有人知道我该怎么办?
利用
Run "staff" & i
而不是打电话
当然,有可能——而且更好——有一个例程并将 i 作为参数传递
您可以使用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
在这种情况下,请使用以下方式调用您的潜艇:
Dim i
For i = 1 To 20
Application.Run "staff" & i
Next i