【VBA】Subプロシージャとは(基本と実務的な考え方)

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プロシージャは「値を返さず処理だけを行う手続き」
  • マクロの中心的な存在で、実務でも最もよく使う
  • ボタンやショートカットから実行しやすい
  • 作業系の処理をまとめるのに最適
  • 保守性のため、名前付け・役割の分割がポイント

コメント

タイトルとURLをコピーしました