【入門編】VBEの「インデント」と「コメント」のルール:チーム開発で嫌われないコードの書き方 – Excel VBA解析バイブル

スポンサーリンク

【VBAの極意】チーム開発で「嫌われないコード」を書くための美学:インデントとコメントの作法

こんにちは。現場で長年コードを書き続けてきたエンジニアとして、今日は「マクロの記録」で生成された混沌としたコードから脱却し、「プロフェッショナルとして信頼されるVBAコード」を書くための第一歩を伝授します。

VBAは非常に柔軟な言語ですが、その自由さゆえに「誰が書いたか分からない、修正不能なスパゲッティコード」になりがちです。チーム開発において、あなたのコードは「あなた自身」を映す鏡です。後任者があなたのコードを開いた瞬間、ため息をつくか、あるいは感謝するか。その分かれ道は、「インデント」と「コメント」という、極めて地味ながら本質的なルールに集約されます。

—

1. なぜ「インデント」が生命線なのか?

インデント(字下げ)は、単なる見た目の問題ではありません。コードの「構造(論理階層)」を視覚化するための言語です。

インデントがないコードは、地図のないジャングルを歩くようなもの。どこからどこまでが `If` 文の範囲なのか、どこでループが完結しているのかが分からないコードは、バグの温床です。

良い例:構造がひと目で分かる

Sub ProcessData()
‘ 処理の開始
If Range(“A1”).Value <> “” Then
‘ インデントによって階層を明確にする
For i = 1 To 10
Cells(i, 1).Value = “Processed”
Next i
Else
‘ 条件に合わない場合もインデントを揃える
MsgBox “データが空です”
End If
End Sub

悪い例:可読性の欠如(これは「嫌われる」コードです)

Sub ProcessData()
If Range(“A1”).Value <> “” Then
For i = 1 To 10
Cells(i, 1).Value = “Processed”
Next i
Else
MsgBox “データが空です”
End If
End Sub

上の悪い例を見ると、どこがどこに帰属しているのか、視覚的な判断に余計な脳のリソースを消費させますよね。「Tabキーを叩く回数」は、あなたのコードの優しさの数だと思ってください。

—

2. コメントは「コードの言い訳」ではない。「意図」を残す場所

初心者がやりがちな間違いは、コードをそのまま日本語に翻訳するだけのコメントです。

  • 悪いコメント例: `i = i + 1 ‘ iに1を足す` (そんなことは見れば分かります)
  • 良いコメント例: `i = i + 1 ‘ 処理対象の行を次へ進める` (なぜそうするのか、という理由が書かれています)

ドキュメント作成の黄金ルール:ヘッダーコメント

プロの現場では、プロシージャ(SubやFunction)の冒頭に、その役割を明記します。これだけで、後任者の作業時間は劇的に短縮されます。

‘ —————————————————————————
‘ プロシージャ名: ClearWorksheet
‘ 概要: 指定されたシートのデータを初期化し、ヘッダー行を維持する
‘ 引数: targetSheet (Worksheet) – 対象のシートオブジェクト
‘ 戻り値: なし
‘ 作成日: 2023/10/27
‘ —————————————————————————
Sub ClearWorksheet(targetSheet As Worksheet)
‘ 念のため画面更新を停止して高速化
Application.ScreenUpdating = False

‘ データが存在する場合のみクリア(2行目以降を対象とする)
If targetSheet.Cells(Rows.Count, 1).End(xlUp).Row > 1 Then
targetSheet.Range(“A2:Z” & targetSheet.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
End If

Application.ScreenUpdating = True
End Sub

—

3. VBE設定で「自動インデント」を味方につける

いちいち手動でTabキーを叩くのが面倒だと思ったあなた。素晴らしい感覚です。エンジニアは「面倒なことは仕組みに任せる」のが鉄則です。

VBE(Visual Basic Editor)を開き、以下の設定を確認してください。

1. VBEのメニューバーから `ツール` > `オプション` をクリック。
2. `エディタの設定` タブを確認。
3. 「自動構文チェック」と「変数の宣言を強制する」にチェックを入れる。

※特に「変数の宣言を強制する(Option Explicit)」は必須です。これがないと、タイポ一つでバグが発生し、原因追及に何時間も費やすことになります。

—

最後に:コードは「未来の自分へのラブレター」

あなたが今日書くコードは、半年後の自分が修正するかもしれません。あるいは、全く知らない誰かが引き継ぐかもしれません。

インデントを揃え、適切なコメントを残すことは、「相手に対するリスペクト」です。美しいコードは、それだけでメンテナンスコストを下げ、バグを減らし、チームの生産性を向上させます。

「ここをクリアすれば、Excel VBAの基本はバッチリ」です。
まずは今日から、自分の書くコードに「一つだけ」丁寧なコメントを添えることから始めてみてください。その小さな積み重ねが、あなたを一流のオートメーションエンジニアへと引き上げてくれるはずです。

何か分からないことがあれば、いつでも聞いてくださいね。一緒に最高にクールなコードを書いていきましょう!

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