VBAで最も基本となる仕組みが「プロシージャ」です。
その中でも最もよく使われるのが Subプロシージャ(サブプロシージャ) です。
Subプロシージャは「特定の処理をまとめて実行するための手続き」であり、マクロの中心的な役割を担っています。
目次
1. Subプロシージャの役割
- 一連の処理をまとめて実行する
- ボタンやショートカットキーから呼び出して実行可能
- 値を返す必要がない「作業系処理」に向いている
例:
- セルの書式設定
- データの読み込み
- メッセージ表示
- ファイル保存処理
- 画面更新のON/OFF
2. Subプロシージャの基本構造
Sub プロシージャ名()
'ここに実行したい処理を書く
End Sub
Sub〜End Sub の間に処理を記述します。
「プロシージャ名」は処理内容が分かるものにするのが実務の基本です。
3. Subプロシージャの簡単な例
Sub ShowMessage()
MsgBox "こんにちは!これはSubプロシージャの例です。"
End Sub
解説
ShowMessageという名前のSubプロシージャMsgBoxを使ってメッセージを表示- 値は返さず、実行して終わるだけ
4. Subプロシージャは「作業を実行するプログラム」
Subプロシージャは、作業の自動化に最適です。
たとえば:
- 「データを読み込む → 加工する → 保存する」
- 「指定セルに値を入力する」
- 「複数シートを一括で整形する」
といった手作業の流れを1つのSubにまとめることで、再利用しやすくなります。
実務では特に次の点が重要です:
✔ 名前は処理内容がわかるようにする
例:
ExportReport(レポート出力)FormatSheet(書式整形)LoadData(データ読み込み)
✔ 1つのSubに処理を詰め込みすぎない
処理が多すぎると保守が難しくなるため、役割ごとに分割するのがベストです。
5. まとめ
- Subプロシージャは「値を返さず処理だけを行う手続き」
- マクロの中心的な存在で、実務でも最もよく使う
- ボタンやショートカットから実行しやすい
- 作業系の処理をまとめるのに最適
- 保守性のため、名前付け・役割の分割がポイント
コメント