コメントは「未来の自分へのメモ」
VBAのコメントは、「プログラムとしては実行されない説明文」です。
コードの意味、意図、注意点、「ここはあとで直す」などを、未来の自分や他人に伝えるためのメモだと思ってください。
コメントは、実行時には完全に無視されます。
つまり、どれだけ書いても動作には一切影響しません。
だからこそ、「分からなくなりそうなところほど、コメントを厚めに書く」が正解です。
VBAでのコメントの基本ルール
シングルクォーテーション(’)がコメントの合図
VBAでは、行の途中に'(シングルクォーテーション)
が出てきた瞬間から、その行の最後までがコメントになります。
一番よく使う形は、次の二つです。
' これはコメントです(行頭に書くパターン)
Range("A1").Value = 10 ' ここもコメントです(行の右側に書くパターン)
VBどちらも、' 以降は「説明文」として扱われ、プログラムとしては実行されません。
VBEでは、デフォルトでコメント部分は緑色で表示されるので、コードと見分けがつきやすくなっています。
Rem という書き方もある(けど基本は使わなくてOK)
実は、VBAにはもう一つコメントの書き方があります。
Rem これはコメントです
VBRem のあとに半角スペースを入れて、その右側がコメントになります。
ただし、これは古い書き方で、今はほとんど使われません。
理由はシンプルで、' の方が短くて読みやすく、ツールも ' 前提で作られているからです。
超初心者のうちは、「コメント=’ を使う」だけ覚えておけば十分です。
実際のコードにコメントを入れてみる(例題)
例題1:処理の意味を説明するコメント
まずは、コメントがないコードを見てみます。
Sub Sample1()
Range("A1").Value = 10
Range("A2").Value = 20
Range("A3").Value = Range("A1").Value + Range("A2").Value
End Sub
VB動きは簡単ですが、「何をしているのか」はコードを読まないと分かりません。
ここにコメントを付けると、こうなります。
Sub Sample1()
' A1に単価をセット
Range("A1").Value = 10
' A2に数量をセット
Range("A2").Value = 20
' A1とA2の合計をA3にセット
Range("A3").Value = Range("A1").Value + Range("A2").Value
End Sub
VB「単価」「数量」「合計」という意味が、パッと見で分かるようになりました。
未来の自分が見たときも、「ああ、そういう意図だったのね」とすぐ思い出せます。
例題2:行の右側に短いメモを付ける
行頭だけでなく、行の右側にコメントを書くパターンもよく使います。
Sub Sample2()
Range("A1").Value = 10 ' 単価
Range("A2").Value = 20 ' 数量
Range("A3").Value = 30 ' 仮の値(あとで計算式に変更予定)
End Sub
VBこのように、右側に「補足」や「注意点」を書いておくと、コードとコメントを一緒に眺められます。
「ここはあとで直す」「ここは要確認」といったメモにもぴったりです。
コメントの実用的な使い方
一時的にコードを無効化する(コメントアウト)
「この行、ちょっと動かしたくないな」というとき、行の先頭に ' を付けると、その行を“無効化”できます。
Sub Sample3()
Range("A1").Value = "実行する"
'Range("A2").Value = "今は実行しない"
Range("A3").Value = "実行する"
End Sub
VBこの場合、A1 と A3 だけが書き換わり、A2 の行は実行されません。' を外せば、いつでも元に戻せます。
「消すのは怖いけど、今は動かしたくない」というときに、
“とりあえずコメントアウトしておく”というテクニックは頻出です。
複数行をまとめてコメントにするイメージ
VBAには「/* ~ */」のような複数行コメントの記法はありません。
代わりに、複数行を選択して、まとめて先頭に ' を付ける機能(コメントブロック)が使えます。
やり方のイメージはこうです。
VBEでコメントにしたい行を複数選択する。
ツールバーの「コメント ブロック」ボタンを押す(なければ追加しておく)。
すると、選択した行の先頭に一括で ' が付きます。
逆に「非コメント ブロック」を押せば、先頭の ' が一括で外れます。
超初心者のうちは、まずは「一行ずつ ' を付ける」だけでも十分ですが、
慣れてきたらこの一括コメント機能も覚えておくと、試行錯誤がかなり楽になります。
コメントを書くときの考え方を少し深掘り
「コードに書いてあること」ではなく「意図」を書く
悪いコメントの典型は、コードをそのまま日本語にしただけのものです。
Range("A1").Value = 10 ' A1に10を代入する
VBこれは、コメントがなくても見れば分かる内容です。
こういうコメントは、増えれば増えるほど「ノイズ」になります。
良いコメントは、「なぜそうしているのか」「何を意図しているのか」を書きます。
Range("A1").Value = 10 ' キャンペーン中の固定単価(あとでマスタ参照に変更予定)
VBこの一言があるだけで、
「今は仮の値なんだな」「将来ここを直す必要があるんだな」
という情報が伝わります。
「未来の自分は他人」だと思って書く
今書いているときは、「こんなの絶対忘れない」と思います。
でも、一週間後、一ヶ月後に見ると、驚くほど忘れています。
だからこそ、
「未来の自分は、今の自分の考えをほぼ覚えていない他人」
だと思ってコメントを書くのがコツです。
「ここはバグを避けるために、あえてこうしている」
「この順番じゃないとダメな理由がある」
「この値は仕様上こう決まっている」
こういう“背景情報”をコメントに残しておくと、
未来の自分が「なんでこんな書き方してるんだ?」とコードを壊してしまうリスクも減ります。
まとめと、次の一歩
コメントは、VBAの実行には一切影響しない「説明文」です。' を使って、行頭にも行の右側にも書けます。
コードの意味、意図、注意点、「あとで直す」などを、未来の自分に伝えるためのメモとして使います。
一時的にコードを無効化する「コメントアウト」にも使えるので、試行錯誤の強い味方になります。
次の一歩として、あなたがすでに書いたマクロに対して、
「未来の自分が見て困りそうなところ」にだけ、丁寧にコメントを足してみてください。
その作業を一度やるだけで、「コメントがあるコード」と「コメントがないコード」の安心感の差を、かなりはっきり感じられるはずです。
