[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
