Sub文

Subプロシージャの本体を形成する名前、引数およびコードを宣言します。

構文

Sub name [(arglist)] 
   [statements]
   [Exit Sub]
   [statements]
End Sub 
  • name: Subの名前。標準の変数命名規則に従います。

  • arglist: Subプロシージャがコールされたときに渡される引数を表す変数のリスト。複数の変数はカンマで区切ります。

  • statements: Subプロシージャの本体内で実行される文のグループ。

    引数:

    arglist引数には、次の構文と要素があります:

    [ByVal | ByRef] varname[( )]

    • ByVal: 引数が値で渡されることを示します。

    • ByRef: 引数が参照で渡されることを示します。

    • Varname: 引数を表す変数の名前。標準の変数命名規則に従います。

備考

PublicまたはPrivateを使用して明示的に指定されていない場合、Subプロシージャはデフォルトでpublicになります。つまり、スクリプト内の他のすべてのプロシージャから参照できます。Subプロシージャのローカル変数の値は、プロシージャのコール間では保持されません。

Exit Sub文は、Subプロシージャを即時に終了します。プログラムの実行は、Subプロシージャをコールした文に続く文から続行されます。Subプロシージャの任意の場所に任意の数のExit Sub文を配置できます。

Subプロシージャは、Functionプロシージャと同様に、引数を取り、一連の文を実行し、その引数の値を変更できる個別のプロシージャです。ただし、値を戻すFunctionプロシージャとは異なり、Subプロシージャは式内で使用できません。

Subプロシージャをコールするには、プロシージャ名とそれに続く引数リストを使用します。Subプロシージャのコール方法の詳細は、「Call文」を参照してください。

例1:

Sub mysub()
  'some statements
End Sub

例2:

Sub mysub(argument1, argument2)
  'some statements
End Sub