03.引数の効率的な引き渡し(ByVal)

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