【VBA】Callステートメントの使い方(引数に注意あり)
今回は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ステートメント無し:かっこを付けない