【VBA用語】ByVal(値渡し)とは?
ByVal(値渡し)は、関数に引数を渡すときに、変数そのものを渡すのではなく、変数の値のみを渡すときに使うキーワードです。
使い方
次のプログラムは、マクロ「Test2」に変数の値のみを渡すプログラムです。
Sub Test1()
Dim A As Long
A = 10
Call Test2(A)
Range("A1") = A
End Sub
Sub Test2(ByVal B As Long)
B = B * 10
End Sub
メモ
使い方にあるプログラムの場合、「Test1」は変数Aを渡すのではなく、10の値のみを「Test2」に渡しています。
そのため「Test1」の変数Aは10が代入されたまま処理が進み、セルA1には「10」が入力されます。
学び方
ByVal(値渡し)は、VBAの資格「Excel VBA スタンダード」で学ぶことができます。
「Excel VBA スタンダード」の問題集は、以下よりお試しください。
Excel VBA スタンダード 用語問題集