ByVal は、次の構文で使用します。
Call ステートメント、Declare ステートメント、Function ステートメント、
Property Get ステートメント 、Property Let ステートメント、
Property Set ステートメント、Sub ステートメント
プロシージャを宣言するときにキーワード ByVal を指定すると、引数を値渡しで渡すことができます。
使用例
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'ByValはSubやFunction等のステートメントの引数として使用される
'ByValは、その引数が値渡しで渡されることを示す
Application.EnableEvents = False
'B列セル色解除
Columns(2).Interior.ColorIndex = xlNone
'B列でアクティブセルの行に赤色設定
Cells(Target.Row, 2).Interior.ColorIndex = 3
'Targetの示すセル範囲の最初の領域の先頭行(Row)を示し、
'列の場合は、最初の列番号を(Column)で表示する
Application.EnableEvents = True
End Sub