【会員アンケートご協力のお願い】抽選で計5名様に役立つ書籍をプレゼント!
他のプロシージャに配列を引数として渡す|Excel VBA |
配列を他のプロシージャで使用するには、Public変数やモジュールレベル変数を利用するほか、引数として渡す方法があります。
配列を引数として渡すには、呼び出し元のプロシージャ、受け手側のプロシージャはそれぞれ次のような構文で記述します。
【呼び出し元】 Call プロシージャ名( 配列名 )
【受け手側】 Sub プロシージャ名( 配列名() As データ型)
Function プロシージャ名( 配列名() As データ型) As データ型
次のサンプルでは、PassArgプロシージャの中から配列を引数としてRecArgプロシージャを呼び出します。
呼び出されたRecArgプロシージャでは、受け取った配列の値をMsgBoxに表示します。
Sub PassArg()
Dim i As Long
Dim myArray(3) As String
For i = LBound(myArray) To UBound(myArray)
myArray(i) = "値" & i
Next i
Call RecArg(myArray)
End Sub
Sub RecArg(myArg() As String)
Dim j As Long
Dim Msg As String
For j = LBound(myArg) To UBound(myArg)
Msg = Msg & myArg(j) & vbCrLf
Next j
MsgBox Msg
End Sub