では、Excel VBAの「Callステートメント」について、プログラミング初心者向けに分かりやすく、例題を交えて説明します。
そもそも「プロシージャ」とは?
- プロシージャとは、処理をひとまとめにした「小さなプログラムの部品」です。
- VBAでは
Sub ○○()~End Subの形で書きます。
例:
Sub HelloWorld()
MsgBox "こんにちは!"
End Sub
VB👉 この「HelloWorld」というプロシージャを呼び出すと、メッセージが表示されます。
プロシージャを呼び出す方法
プロシージャは、他のプロシージャから呼び出して使えます。呼び出し方は2種類あります。
方法①:名前だけ書く
HelloWorld
VB方法②:「Call」を付ける
Call HelloWorld
VB👉 動きは同じですが、「Call」を付けると「これは別のプロシージャを呼び出しているんだな」と一目で分かりやすくなります。
例題:合計を計算して別のセルに書き込む
初心者でも理解しやすいように、簡単な例を作ってみます。
Sub Main()
Dim sum As Integer
Dim i As Integer
sum = 0
' 1から10までの合計を計算
For i = 1 To 10
sum = sum + i
Next i
' 結果をセルA1に表示
Range("A1").Value = sum
' 別の処理を呼び出す
Call ShowDouble
End Sub
Sub ShowDouble()
' A1の値を2倍してA2に表示
Range("A2").Value = Range("A1").Value * 2
End Sub
VB実行の流れ
Mainを実行すると、まず合計(55)がセルA1に表示されます。- その後
Call ShowDoubleによって、A1の値を2倍した「110」がセルA2に表示されます。
👉 「Main」がメインの処理、「ShowDouble」が補助的な処理。Callを使うことで、処理を分けて整理できるのです。
初心者が覚えておくと良いこと
- Callは必須ではないけど、読みやすさのために使うと便利。
- プログラムを「部品」に分けて書くと、後から修正や追加がしやすい。
- 慣れてきたら「引数付きプロシージャ」や「Function(関数)」も学ぶとさらに応用できる。
まとめ
「Call」はプロシージャを呼び出すための合図。初心者は「処理を分けて呼び出す」練習をすると、VBAがぐっと分かりやすくなる。
