| 
    
     |  | ふと,疑問に思いました。 お手数ですが,またお付き合い下さい。
 
 Sub 挨拶()
 Dim a As String
 Dim b As String
 Dim c As String
 Dim d As String
 
 Call macro1(a)
 Call macro2(b)
 Call macro3(c)
 Call macro4(d)
 MsgBox a & b & c & d
 
 End Sub
 
 Sub macro1(aaa As String)
 aaa = "お"
 End Sub
 
 Sub macro2(aaa As String)
 aaa = "は"
 End Sub
 
 Sub macro3(aaa As String)
 aaa = "よ"
 End Sub
 
 Sub macro4(aaa As String)
 aaa = "う"
 End Sub
 
 こんなのがあったとします。
 仮に,macro1〜macro100まであった場合,
 返し値がなければ,
 For i = 1 To 100
 Application.Run "macro" & i, a
 Next i
 と簡略化すると思うのですが,
 値を返したい場合は,やはり,Callしか手がないのでしょうか?
 
 |  |