参照渡しの基本

 

Sub test()
' 参照渡しサンプル

    Dim myStr As String
    myStr = "あいうえお"
    
    Call サブルーチン(myStr)

End Sub

' -----------------------------------------
Sub サブルーチン(ByRef a As String)
    
    a = "今日天気がいいですね!"
    MsgBox "「" & a & "」を出力と依頼された"

End Sub

End Sub

 

 参照渡しの場合、Sub testなかの変数myStr、サブルーチンなかの変数aは、同じメモリ領域を参照しています。サブルーチンなかで、変数aの値を変更すると、もとのSub testなかの変数myStrも上書きされます。また、サブルーチンの引数変数名aを、Sub testなかの変数myStrと同じしても、エラーにならない。ただし、実務上では、区別しづらくなり、でバックハードルが高くなるので、おすすめはしません。

 

 

実行結果

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 

 

 

参考記事