[VBA] プロシージャを呼び出す方法
プロシージャ呼び出し
サンプルコード
Sub Main() Dim a As Long Dim b As Long a = 10 b = 10 Call Test1(a, b) Debug.Print (a) Debug.Print (b) End Sub Sub Test1(ByVal a As Long, ByRef b As Long) a = a + 10 b = b + 10 End Sub
結果
10 20
プロシージャは、Callで呼び出せます。ちなみに無くても呼び出せますが、Callで明示していたほうが分かりやすいです。
引数は、ByValは値渡し、ByRefは参照渡しとなります。そのため、aの値が10になって、bの値が20になっています。
デフォルト引数
Optionalを使うことで、デフォルト値が設定されている引数となります。
これを使えば、引数に値が指定していなくてもプロシージャを呼び出せます。
サンプルコード
Sub Main() Call Test1 End Sub Sub Test1(Optional ByVal a As Long = 1) Debug.Print (a) End Sub
結果
1