では 「引数付きプロシージャ」 を、初心者向けにかみ砕いて、例題を交えて丁寧に説明します。
「数字を自由に渡して計算できる」ようになるので、VBA が一気に便利になります。
引数付きプロシージャとは?
プロシージャに 値を渡して処理させる仕組み のことです。
イメージで理解!
- お店に「ハンバーガー作って」と頼む → ただのハンバーガーが出てくる
- お店に「チーズ入りのハンバーガー作って」と頼む → チーズ入りで作ってくれる
👉 この「チーズ入りでお願い!」が 引数(ひきすう)です。
プロシージャにも値を渡すことで、
- 数字を変えて計算
- 指定したセルだけ色を変える
- 指定したメッセージだけ表示する
など、使い回しが効くようになります。
1. 基本の書き方
引数を受け取るプロシージャ
Sub メッセージ表示(msg As String)
MsgBox msg
End Sub
VB呼び出し側(値を渡す)
Sub テスト()
Call メッセージ表示("こんにちは!")
End Sub
VB結果:「こんにちは!」と表示されます。
2. 実用例:好きな数字を渡して合計する
ステップ1:合計を計算するプロシージャ
Sub 合計を出す(num1 As Long, num2 As Long)
Range("A3").Value = num1 + num2
End Sub
VBここで num1 と num2 が 引数(もらう値) です。
ステップ2:呼び出して値を渡す
Sub メイン処理()
Dim a As Long
Dim b As Long
a = 10
b = 20
Call 合計を出す(a, b)
End Sub
VB結果
- A3 に 30 が入ります。
3. さらに分かりやすい実践例
例:指定したセルに好きな文字を入れるプロシージャ
プロシージャ側
Sub 書き込み(セル番地 As String, 値 As String)
Range(セル番地).Value = 値
End Sub
VB呼び出し側
Sub テスト()
Call 書き込み("B2", "Hello!")
Call 書き込み("C3", "VBA楽しい!")
End Sub
VB4. 引数を使うとコードがめちゃ便利になる理由
- 同じ処理を 何度でも使いまわせる
- プログラムが 短く・読みやすく なる
- 後で数値や条件だけ変えたいときに 修正が楽
- 大きなプロジェクトになっても コードが整理されやすい
初心者が「上達した!」と実感しやすいポイントです。
5. 最後に:Call を付けるメリット
Call 書き込み("A1", "Test")
VBこう書くと、
- 「ここはプロシージャ呼び出しだ」と
一目で分かる
という初心者にはとても大きなメリットがあります。
もちろん、Call を省略しても動作は同じです。
