VBAのコメントの書き方を完全ガイド!初心者でもわかる説明文の付け方
生徒
「先生、VBAのコードを書いていると、後から見返したときに自分が何のためにこの命令を書いたのか分からなくなっちゃうんです……。」
先生
「それはプログラミングを始めたばかりの人が必ず通る道ですね。実は、コードの中にメモを残す方法があるんですよ。」
生徒
「メモですか?プログラムの中に日本語で日記みたいに書いても、エラーにならないんですか?」
先生
「『コメント』という機能を使えば大丈夫です!アポストロフィ一つで、パソコンに無視してもらうメモが書けるんです。一緒に使い方を見ていきましょう!」
1. コメントとは?プログラムの中の「付箋」と「メモ」
Excel VBA(エクセル・ブイビーエー)におけるコメントとは、プログラムを実行するパソコン(コンピューター)には無視され、人間だけが読むことができる「メモ書き」のことです。マクロの動作には一切影響を与えません。
プログラミング未経験の方が、複雑な「変数」や「条件分岐」のコードを書くと、数日後には「これって何をしているんだっけ?」と迷子になってしまうことがよくあります。コメントは、コードという地図の中に貼る「付箋(ふせん)」のような役割を果たします。これがあるだけで、自分だけでなく他の人が見たときも、何をしているマクロなのかが一目でわかるようになります。
2. アポストロフィ(')を使ったコメントの基本
VBAでコメントを書く最も一般的な方法は、キーボードのアポストロフィ(')を使うことです。アポストロフィから右側に書かれた文字はすべてコメントになり、VBE(プログラムを書く画面)では文字が緑色に変わります。
アポストロフィは、キーボードの「7」のキーの上にあります。「Shift(シフト)」キーを押しながら「7」を押すことで入力できます。パソコン初心者の方は、まずこの記号を打つ練習から始めましょう。
Sub CommentSample1()
' これはコメントです。実行されません。
MsgBox "こんにちは!" ' 命令の右側にも書くことができます。
End Sub
上記のコードを実行すると、メッセージボックスだけが表示されます。緑色の部分は無視されるので、安心して日本語で説明を書き込むことができます。
こんにちは!
3. コードの役割を説明するコメントの書き方
具体的な使いどころとして、まずは「プログラム全体の目的」や「各ステップの意味」を書くのがおすすめです。例えば、シートの名前を変更するマクロの場合、何を対象にしているのかをメモしておきます。
Sub SheetRename()
' --------------------------------------------------
' 機能:アクティブなシートの名前を今日の日付にする
' 作成者:田中
' --------------------------------------------------
Dim todayStr As String
todayStr = Format(Date, "yyyymmdd") ' 日付を「20231027」形式の文字にする
ActiveSheet.Name = todayStr ' シート名を変更
End Sub
このように、区切り線のようにアポストロフィを使ったり、変数の役割を横にメモしたりすることで、コードが劇的に読みやすくなります。プロの世界では、読みやすいコードを「可読性(かどくせい)が高い」と呼び、非常に重要視されます。
4. 「コメントアウト」で一時的にコードを止める技
コメントには、メモを残す以外にもう一つの非常に重要な役割があります。それが「コメントアウト」です。これは、消したくないけれど一時的に実行させたくないコードの先頭にアポストロフィを付けて、無効化することを指します。
「この命令を消すと後で困るかもしれないけど、今は動かしたくないな」という時に役立ちます。いわば、プログラムの「一時停止ボタン」です。
Sub TempStop()
MsgBox "1つ目のメッセージ"
' MsgBox "2つ目のメッセージ(今は表示したくないのでコメントアウト)"
MsgBox "3つ目のメッセージ"
End Sub
これを使えば、マクロがエラーになったときに「怪しい部分」をコメントアウトして、どこが原因(バグ)なのかを探す「デバッグ」という作業がスムーズに進みます。
5. 複数行をまとめてコメントにする便利機能
1行ずつアポストロフィを打つのは大変ですよね。VBE(マクロの編集画面)には、選択した範囲を一気にコメントにする便利なボタンがあります。これを使うと、大量のコードを一瞬で無効化したり、メモに変えたりできます。
操作方法は以下の通りです:
- VBEのメニューバーで「表示」→「ツールバー」→「編集」にチェックを入れる。
- コメントにしたい行をマウスでなぞって選択する。
- 編集ツールバーの「コメントブロック」(手書きのメモのようなアイコン)をクリック!
元に戻したいときは、隣にある「非コメントブロック」ボタンを押せば、アポストロフィが消えて元のコードに戻ります。この機能を覚えるだけで、VBA開発の効率がぐっと上がります。
6. Remキーワードを使ったコメント(歴史的な書き方)
実はアポストロフィ以外にも、コメントを書く方法があります。それが「Rem(レム)」キーワードです。これは古くからあるBASIC言語の名残で、「Remark(リマーク:備考)」の略です。
使い方は、行の先頭に Rem と書くだけですが、アポストロフィに比べて文字数が多いので、最近のVBA開発で使われることはほとんどありません。しかし、古いマクロを読んでいると出てくることがあるので、知識として知っておきましょう。
Sub OldStyleComment()
Rem この行はコメントとして扱われます
MsgBox "Remを使ったサンプルです"
End Sub
7. 良いコメント・悪いコメントのコツ
コメントはたくさん書けば良いというものでもありません。初心者の方が「良いコメント」を書くためのポイントをまとめました。
- 良い例:なぜその処理が必要なのかを書く。「(例)システムの仕様上、1行目は見出しなので飛ばす必要がある」
- 悪い例:見ればわかることだけを書く。「(例)A1セルに1を入れる」
プログラムは「何をしているか」はコードを読めばわかりますが、「なぜそうしたのか」という意図は、書いた本人にしかわかりません。未来の自分へのメッセージだと思って、意図を残すように心がけてください。
8. コメントを活用して「自分に優しい」マクロを作ろう
プログラミング未経験の方が、VBAの基本文法(変数・条件分岐・ループ)を学んでいくと、どんどんコードが長く複雑になっていきます。その時に自分を助けてくれるのが、今日学んだコメントです。
「この変数は売上合計を入れるための箱だよ」「このIf文は在庫不足をチェックしているよ」といった小さなメモが、あなたのスキルアップを強力にサポートしてくれます。アポストロフィ(')を味方につけて、初心者から中級者へとステップアップしていきましょう!