ねらい:コメント規約で「読みやすく・直しやすく・引き継ぎやすい」コードにする
VBAは簡単に書ける分、コメントがないと「何をしているのか分からない」「修正が怖い」状態になりがちです。コメント規約を決めておくと、誰が読んでも理解でき、初心者でも安心して修正できます。ここでは、基本ルールからテンプレートまで、例題を交えて解説します。
コメントの基本ルール
- 必ずOption Explicitの直下に「モジュール概要」を書く
- 処理のまとまりごとに「目的」をコメントする
- 変数宣言には「用途」を添える
- 複雑な式やアルゴリズムには「理由」を書く
- 更新履歴を先頭に残す(誰が・いつ・何を変更したか)
重要ポイント(深掘り)
- 「何をしているか」より「なぜそうしているか」を書く: コードを見れば「何」は分かる。コメントは「理由」を残すと価値が高い。
- コメントは最新に保つ: 古いコメントは害になる。修正時に必ず見直す。
- 短すぎず長すぎず: 1行〜3行で要点をまとめる。冗長は逆効果。
モジュール先頭コメントテンプレート
' ============================================
' モジュール名: ModEmployeeImport
' 役割: 社員データを入力シートから読み込み、検証して出力シートへ書き込む
' 作成者: 山田太郎
' 作成日: 2025-12-15
' 更新履歴:
' 2025-12-15 山田太郎 新規作成
' 2025-12-16 佐藤花子 検証ルールを追加(電話番号チェック)
' ============================================
Option Explicit
VB重要ポイント(深掘り)
- 履歴は必ず残す: 誰が何を変えたかが分かると安心。
- 役割を一言で: 「何をするモジュールか」が冒頭で分かる。
プロシージャ(Sub/Function)コメントテンプレート
'---------------------------------------------
' 名前: Run_EmployeeImport
' 目的: 社員データを読み込み、検証して出力シートへ書き込む
' 引数: なし
' 戻り値: なし
' 注意: Configシートに INPUT_SHEET, OUTPUT_SHEET が必要
'---------------------------------------------
Public Sub Run_EmployeeImport()
' 開始処理(画面更新停止)
AppEnter "社員取込開始"
' データ読み込み
Dim data As Variant
data = ReadInput("Input")
' 検証処理
' 氏名必須、電話番号10〜11桁、スコア0〜100
Dim clean As Variant
clean = ValidateEmployeeData(data)
' 出力処理
WriteOutput "Output", "A1", clean
' 終了処理
AppLeave True
MsgBox "社員取込が完了しました。"
End Sub
VB重要ポイント(深掘り)
- 「目的・引数・戻り値・注意」を必ず書く: 入口で理解できる。
- 処理のまとまりごとにコメント: 「開始処理」「データ読み込み」など。
変数宣言コメントテンプレート
' 社員データ配列(ヘッダー+行データ)
Dim data As Variant
' 検証済みデータ配列
Dim clean As Variant
' 出力先シート名
Dim outputSheet As String
VB重要ポイント(深掘り)
- 変数は「何を入れるか」を明記: 型だけでは分からない。用途を添える。
- 配列やオブジェクトは特に重要: 中身が見えないのでコメント必須。
複雑な処理のコメント例
' 電話番号から数字だけ抽出
' 理由: ハイフンやスペースが混ざるため、数字のみを取り出して桁数を検証する
Private Function ExtractDigits(ByVal s As String) As String
Dim i As Long, r As String
For i = 1 To Len(s)
Dim ch As String: ch = Mid$(s, i, 1)
If ch Like "[0-9]" Then r = r & ch
Next
ExtractDigits = r
End Function
VB重要ポイント(深掘り)
- 「なぜこの処理が必要か」を書く: 単なるループは見れば分かる。理由が価値。
例題で練習
- 例1: モジュール先頭に「役割・履歴」を書く。
- 例2: Subに「目的・引数・戻り値・注意」を書く。
- 例3: 変数宣言に「用途」を添える。
- 例4: 複雑な処理に「理由」を書く。
実務の落とし穴と対策
- 落とし穴1:コメントが古いまま残る
- 対策: 修正時に必ずコメントも更新。古いコメントは削除。
- 落とし穴2:コメントが冗長で読みにくい
- 対策: 要点だけ。3行以内でまとめる。
- 落とし穴3:コメントが少なすぎて意味がない
- 対策: 「目的」「理由」「用途」だけは必ず書く。
- 落とし穴4:誰が修正したか分からない
- 対策: 履歴を残す。日付+名前+変更内容。
スターター手順(最短導入)
- モジュール先頭に概要+履歴を書く。
- Sub/Functionに目的・引数・戻り値・注意を書く。
- 変数宣言に用途コメントを添える。
- 複雑な処理には理由コメントを入れる。
- 修正時にコメントも必ず更新する。
初心者の方はまず「モジュール先頭コメント」と「Subの目的コメント」から始めてください。慣れてきたら変数用途や理由コメントを追加し、チームで共有できるコメント規約を整えると、コードが一気に読みやすくなります。
