如何调用子/使用下一个VBA

我正在尝试使用下面的代码调用一些subs:

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 

在这种情况下,使用以下方式调用你的subs:

 Dim i For i = 1 To 20 Application.Run "staff" & i Next i