教えて!ExcelVBA!

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

ExcelVBAでCall文を使った他のプロシージャの呼び出し方法

構文

構文は以下の通りです。

Call プロシージャ名 (引数)

解説

Call文は、プロシージャの中で他のプロシージャを呼び出すときに使います。プロシージャとは、一連の命令が集まったもので、特定の作業を実行するための小さなプログラムのことです。例えば、「Aというプロシージャ」を実行している途中で、「Bというプロシージャ」も実行したいときがあります。そのときにCall文を使います。Call文で「Bというプロシージャ」を呼び出すと、「Bというプロシージャ」が終わった後に、また「Aというプロシージャ」の続きから実行されます。また、Call文を使ってプロシージャを呼び出すときに、引数を渡すことができます。引数とは、プロシージャに渡す追加の情報のことです。

プログラミング例

具体的なプログラミング例を紹介します。

Sub メイン()
    ' メッセージを表示するプロシージャを引数付きで呼び出す
    Call メッセージ表示("こんにちは")
    Call メッセージ表示("さようなら")
End Sub

Sub メッセージ表示(メッセージ As String)
    ' 引数で渡されたメッセージを表示
    MsgBox メッセージ
End Sub

上記のプログラムを実行すると、まず「こんにちは」というメッセージが表示され、その後に「さようなら」というメッセージが表示されます。引数を使うことで、プロシージャに対してさまざまな情報を渡すことができるのです。

まとめ

Call文は、プログラムの中で他のプロシージャを呼び出すときに使います。これにより、プログラムをもっと整理されたものにすることができます。一つのプロシージャが終わると、呼び出した元のプロシージャに戻って続けて実行されます。