VBAでマクロを作成すると、コードが長くなるほど後から読み返したときに「どこを直せばいいかわからない」という状況に陥りやすくなります。マクロは一度作って終わりではなく、修正・追加が発生することがほとんどです。
この記事では、コードを見やすくするための2つの基本的な工夫、コメントとインデントについて解説します。
コメントでコードの目的を記録するには?
'(シングルクォーテーション)を行の先頭に書くと、その行はコードとして実行されないコメントになります。
' Sheet1からSheet2にデータをコピーする
Sheets("Sheet1").Cells(1, 1).Copy
Sheets("Sheet2").Cells(1, 1).Select
ActiveSheet.Paste
コメントがない場合、同じコードを見ても「何のための処理なのか」が一目ではわかりません。特にコードが複雑になってくると、コメントがあるかないかで読み返しにかかる時間が大きく変わります。
コメントのポイントは「何をしているか」よりも「なぜそうしているか」を書くことです。処理の意図が伝わるコメントが最も役立ちます。
インデントでコードの構造を見える化するには?
インデント(字下げ)を使うことで、For〜Next や If〜End If のブロック構造が視覚的に把握しやすくなります。
インデントなし(読みにくい)
For i = 2 To a_ls
If Cells(i, 1).Value = "○" Then
Cells(i, 2).Font.Color = RGB(255, 0, 0)
Cells(i, 3).Interior.Color = RGB(0, 255, 0)
End If
Next
インデントあり(構造が明確)
For i = 2 To a_ls
If Cells(i, 1).Value = "○" Then
Cells(i, 2).Font.Color = RGB(255, 0, 0)
Cells(i, 3).Interior.Color = RGB(0, 255, 0)
End If
Next
Tabキーで字下げを入れるだけで、For の中に If があるという構造が一目でわかるようになります。VBEエディタでは Tab でインデントを追加、Shift+Tab で戻せます。
まとめ
- コメント(
') で処理の目的・理由を記録しておくと後から読み返しやすい - インデント(Tabキー) で
For・Ifなどのブロック構造を見える化する - 2つの工夫はコードの保守性(修正・追加のしやすさ)を大きく高める
- 最初から整理されたコードを書く習慣が、将来の作業時間の短縮につながる
よくある質問
コメントはどこに書けばいいですか?
処理のまとまりの先頭や、意図がわかりにくい箇所に書くのが効果的です。すべての行に書く必要はなく、「なぜこう書いているのか」が伝わりにくい場所に絞ると読みやすくなります。
インデントは何文字分入れるのが正しいですか?
VBAでは通常Tabキー1つ分(4文字相当)が標準です。深さのレベルが上がるごとに1段ずつ深くします。VBEエディタのデフォルト設定のままTabキーを使えば適切なインデントになります。
既存のコードをまとめてインデント整形できますか?
VBEには自動インデント整形の機能はありませんが、選択範囲を一括コメントアウト・解除するボタンがツールバーにあります。インデントはTabキー・Shift+Tabキーで手動で調整するのが基本です。
コメントを多く書きすぎると逆に読みにくくなりますか?
なります。明らかな処理にもコメントをつけると行数が増えてかえって読みにくくなります。「コードだけでは伝わらない情報」を補足する目的で書くのがベストです。
コメントとインデント以外に見やすくする工夫はありますか?
変数名を意味がわかるものにする、1行に複数の処理を詰め込まない、処理のまとまりの間に空行を入れるなども効果的です。これらを組み合わせることでさらに読みやすいコードになります。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



