VBAでマクロを組んでいると、「何をしている処理なのか?」をあとから思い出すのが難しいと感じたことはありませんか?
特に、他の人が書いたコードを読むときや、1か月前に自分が書いたマクロを見ると、「自分が書いたのに意味がわからない」ということも珍しくありません。
このような事態を防ぐために重要なのが、「コメントの整理」です。コード内に適切なコメントを付けておけば、マクロそのものが立派なドキュメント(仕様書)代わりになります。
処理ごとの見出しコメントをつける
次のように、コードのブロックごとにコメントを入れておくことで、全体の流れがひと目でわかるようになります。
Sub CreateSummary()
Dim srcSh As Worksheet
Dim newSh As Worksheet
' 元データのシートを取得
Set srcSh = Worksheets("データ")
' 集計用のシートを新規作成
Set newSh = Worksheets.Add
newSh.Name = "集計結果"
' タイトルを作成
newSh.Cells(1, 1).Value = "商品名"
newSh.Cells(1, 2).Value = "合計"
' 集計処理の実行(各商品名ごとの合計)
' ・・・処理省略・・・
' 処理完了のメッセージ
MsgBox "集計が完了しました。"
End Sub
ポイント
- コメントは「何のためにそのコードがあるのか」を簡潔に説明する。
- ブロック単位(データ取得・出力・集計・完了など)で記載すると見やすい。
- コメント自体も読みやすい日本語を心がける。
内容の変更が多い部分を特に明示する
仕様変更が入りやすい場所には、目立つようにコメントを付けておくのも効果的です。
' ▼ここは毎月フォーマット変更がある可能性あり
newSh.Cells(1, 1).Value = "商品名"
newSh.Cells(1, 2).Value = "合計"
このように書くメリット
- 将来、修正が必要な箇所を素早く探せる。
- チーム開発時に、他の人への引き継ぎがしやすくなる。
- 「どこを触ればいいか」が明確になるため、作業効率が上がる。
コメントのルールを統一する
コメントの書き方がバラバラだと読みにくくなります。
次のようなルールをチームで決めておくと、より実用的です。
- コメントはコードの上に1行で記載する
- 全角「:」や「・」を使い、読みやすさを優先する
- 日付や修正者を入れたい場合は
'【日付】修正内容 by 名前の形式で統一
例
' データの最終行を取得してループ処理
For i = 2 To srcSh.Cells(Rows.Count, 1).End(xlUp).Row
このようにルールを決めておくことで、コメントがそのまま操作マニュアルや仕様書になるのです。
まとめ
コメントは「コードを読む人へのメッセージ」です。
手を抜かずに整理して書いておけば、数か月後の自分も、チームのメンバーも迷わず作業できるようになります。
- 処理のまとまりごとにコメントを入れる
- 変更が多い場所はコメントで強調する
- 書き方のルールを決めて、ドキュメントとして使えるようにする
マクロを書くことは、単に動くコードを作ることではなく、「あとから見て伝わるコード」を作ることでもあります。
しっかりコメントを書いて、長く使えるマクロに育てていきましょう。
