VBAのコメントをドキュメント代わりに整理する方法|ブロック見出し・変更箇所の強調・チームルールの例

VBAのコメントを整理してブロックごとに書いておくと、コード自体がドキュメント(仕様書)代わりになります。1か月後の自分が読んでも、引き継いだメンバーが読んでも、何をしている処理かすぐわかるコードは、それだけで大きな資産です。

この記事では、次の内容を順番に解説します。

  • コメントの書き方の基本(行コメント・インラインコメント)
  • ブロック見出しコメントで処理の流れを整理する方法
  • 変更が多い場所を強調するコメントの書き方
  • チームで統一できるコメントルールの例

コメントの書き方の基本を知るには?

VBAではシングルクォート(')以降が行末までコメントとして扱われます。実行には影響しません。

'これはコメントです(行全体がコメント)

Dim total As Long   'これもコメント(コードの後ろに付ける)

' 次の行で合計を計算する
total = 100 + 200

コメントアウト(コードを一時的に無効化する)にも使えます。デバッグ中に特定の処理を止めたいときに便利です。

'wb.Close SaveChanges:=True   '← 一時的に無効化中

ブロック見出しコメントで処理の流れを整理するには?

コードを「データ取得」「処理」「出力」などのブロックに分けて、それぞれに見出しコメントを入れると、全体の流れがひと目でわかります。

Sub CreateSummary()

    Dim srcSh As Worksheet
    Dim newSh As Worksheet
    Dim i     As Long

    '-------------------------------
    ' 元データのシートを取得
    '-------------------------------
    Set srcSh = Worksheets("データ")

    '-------------------------------
    ' 集計用シートを新規作成
    '-------------------------------
    Set newSh = Worksheets.Add
    newSh.Name = "集計結果"

    '-------------------------------
    ' 見出し行を作成
    '-------------------------------
    With newSh.Cells(1, 1)
        .Value     = "商品名"
        .Font.Bold = True
    End With
    newSh.Cells(1, 2).Value = "合計"

    '-------------------------------
    ' 集計処理(データ最終行までループ)
    '-------------------------------
    For i = 2 To srcSh.Cells(srcSh.Rows.Count, 1).End(xlUp).Row
        '処理内容…
    Next i

    '-------------------------------
    ' 完了メッセージ
    '-------------------------------
    MsgBox "集計が完了しました。"

End Sub

区切り線('---)を入れると、VBEでコードを縦スクロールしたときにブロックの境界が見つけやすくなります。

変更が多い場所を強調するコメントを書くには?

仕様変更が入りやすい箇所には「▼要確認」「▼要変更」などの目印コメントを付けておくと、後から変更箇所をすぐ見つけられます。

'▼ 毎月フォーマット変更の可能性あり(列位置に注意)
Const COL_NAME  As Long = 1   '商品名列
Const COL_PRICE As Long = 2   '単価列
Const COL_QTY   As Long = 3   '数量列

'▼ 税率変更時はここを修正
Const TAX_RATE As Double = 0.1

チームで「▼」「TODO:」「FIXME:」などの接頭辞を統一しておくと、VBEのCtrl+Fで一括検索できて便利です。

チームで統一できるコメントルールを決めるには?

コメントの書き方がバラバラだと読みにくくなります。シンプルなルールを決めて統一するだけで、コード全体の品質が上がります。

場面コメントの書き方例
Subの先頭(処理の概要)' 処理概要:売上データを集計して別シートに出力する
ブロックの見出し'--- データ取得 ---
変数の説明Dim total As Long '売上の合計金額
変更が必要な箇所'▼ 仕様変更時に確認が必要
一時的に無効化したコード' wb.Close '← デバッグ中のため一時停止

コメントに書くべきは「何をしているか」ではなく、「なぜそうしているか」や「ここで注意すべきこと」です。コードを読めばわかることをコメントするより、コードだけでは伝わらない意図を書く方が価値があります。

まとめ

  • VBAのコメントは '(シングルクォート) で始める。コードの動作には影響しない
  • 処理のまとまりごとに 区切り線+見出しコメント を入れると全体の流れがひと目でわかる
  • 「▼要確認」「TODO:」 などの接頭辞で変更箇所を目立たせると保守が楽になる
  • コメントには「何をしているか」より 「なぜそうしているか」 を書く方が有用
  • チームでコメントルールを統一しておくと、引き継ぎや共同作業がスムーズになる

よくある質問

コメントを複数行書く簡単な方法はありますか?

VBAに複数行コメントの専用構文はありません。各行の先頭に ' を付ける必要があります。VBEでは複数行を選択してからツールバーの「コメントブロック」ボタンを使うと、選択行全体に ' を一括で追加できます。

コメントが多すぎるとコードが読みにくくなりませんか?

コードの各行にコメントを付けすぎると確かに読みにくくなります。適切なのは「処理のブロックの先頭に1行」「難しい処理だけインラインコメント」くらいのバランスです。変数名や処理の流れが自明な場所にはコメントは不要です。

日本語のコメントを使うと文字化けすることがありますか?

VBEはデフォルトでShift-JISを使うため、通常の日本語環境では文字化けしません。ただし他の開発環境(VSCodeなど)でファイルを開くときにエンコーディングの問題が起きる場合があります。チームでUTF-8管理をしている場合は注意が必要です。

コメントをドキュメントとして別ファイルにまとめる方法はありますか?

VBA標準機能でコメントを自動抽出する機能はありませんが、コードをテキストとして書き出してからコメント行(' で始まる行)を抽出する処理を書けば対応できます。実務では、コメントを整理した後に重要な部分をコピーしてWordやExcelにまとめる方法が手軽です。

Subの先頭に書くコメント(ヘッダーコメント)のおすすめフォーマットはありますか?

厳密なフォーマットはありませんが、「処理概要」「引数の説明」「戻り値」「更新履歴」を簡潔に書いておくと役立ちます。例:' 処理概要:売上データを集計して別シートに出力 / 更新:2026/04/16 のように1〜2行でまとめるのが実用的です。


動画で学びたい方へ

「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。

VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。

動画で学ぶExcelマクロ|JIMOVEオンラインスクール

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール