【VBA】Callステートメントの使い方(引数に注意あり)

2023年5月29日

今回はCallステートメントの使い方を紹介します。

Callステートメントは他のプロシージャ(Sub, function)を呼び出すために使います。

ちなみにCall無しでも他のプロシージャの呼び出しできるため、そちらの方法も併せて紹介します。

この記事では↓の内容が分かります。

  • Callステートメントの使い方
  • Callステートメント無しで呼び出す方法
  • 引数の注意点

Callステートメントの使い方

Sub Sample1()
    Call 呼び出すプロシージャ("Hello", "World")
End Sub
Sub 呼び出すプロシージャ(str1 As String, str2 As String)
    MsgBox str1 & str2
End Sub

サンプルコードではCallステートメントを使って、別のプロシージャを呼び出しています。

ステップ実行するとCallステートメントのところで別のプロシージャに処理が移り、メッセージが表示されるのが分かると思います。

Call 呼び出すプロシージャ(引数1, 引数2, …)

Callステートメントを使うときは↑のように記載します。

気を付けて欲しいのは引数を囲むかっこ()が必要になることです。

このかっこを忘れると構文エラーが起こります。

Callステートメント無しで呼び出す方法

Sub Sample2()
    呼び出すプロシージャ "Hello", "World"
End Sub
 
Sub 呼び出すプロシージャ(str1 As String, str2 As String)
    MsgBox str1 & str2
End Sub

別のプロシージャの呼び出しは実はCallステートメント無しでもできます。

呼び出すプロシージャ 引数1, 引数2, …

Callステートメント無しのときは↑のように記載します。

気を付けて欲しいのはCallステートメントと違い、かっこ()を書かないことです。

引数が1つだけのときはかっこ有りでも動くのですが、基本的に書かないでください。
(ちなみに引数が2つ以上のときにかっこを付けると構文エラーとなります)

引数の注意点まとめ

  • Callステートメント有り:かっこを付ける
  • Callステートメント無し:かっこを付けない

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
VBAの作成依頼はこちらから

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2023/06/06 16:32:04時点 Amazon調べ-詳細)

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい