教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 構文】Call文(他のプロシージャ呼び出し)の使い方を教えて!

構文

構文は以下の通りです。

Call サブルーチン名(引数1, 引数2, ...)

Call文は、他のサブルーチンや関数を呼び出すために使用されます。
・Call: サブルーチンや関数を呼び出すキーワードです。
・サブルーチン名: 呼び出すサブルーチンや関数の名前です。
・引数1, 引数2, ...: サブルーチンや関数に渡す引数の値です。必要な場合に指定します。

使い方

以下では、具体的な使い方の例をいくつか紹介します。

1.別のサブルーチンの呼び出し

Call文を使用して、別のサブルーチンを呼び出すことができます。以下の例では、Sub1というサブルーチンからSub2というサブルーチンを呼び出しています。

Sub Sub1()
    MsgBox "Sub1の処理を実行"
    Call Sub2
    MsgBox "Sub1の処理を終了"
End Sub
Sub Sub2()
    MsgBox "Sub2の処理を実行"
End Sub

この例では、Sub1というサブルーチン内でSub2というサブルーチンを呼び出しています。Sub1の処理が実行され、その後Call文によってSub2が呼び出されます。Sub2の処理が実行された後に、Sub1の処理が続行されます。

2.引数を渡してサブルーチンを呼び出す

Call文を使用して、引数を渡してサブルーチンを呼び出すこともできます。以下の例では、Sub1というサブルーチンからSub2というサブルーチンを呼び出し、引数を渡しています。

Sub Sub1()
    Dim value As Integer
    value = 10
    MsgBox "Sub1の処理を実行"
    Call Sub2(value)
    MsgBox "Sub1の処理を終了"
End Sub
Sub Sub2(x As Integer)
    MsgBox "Sub2の処理を実行。引数の値は" & x
End Sub

この例では、Sub1というサブルーチン内で変数valueに値を代入し、その値を引数としてSub2を呼び出しています。Sub2の処理が実行される際に、引数xに渡された値が表示されます。

まとめ

Call文は、他のサブルーチンや関数を呼び出すための機能です。Call文を使用することで、プログラムの構造を分割して管理したり、他のサブルーチンや関数を再利用することができます。適切なタイミングでCall文を活用して、効率的なプログラム作成を目指してください。