|
ふと,疑問に思いました。
お手数ですが,またお付き合い下さい。
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しか手がないのでしょうか?
|
|