本記事では「Excel VBA」におけるコメントアウトの概要や書き方・ショートカットの方法・コメントアウトするべきタイミングについて解説します。
「Excel VBA」におけるコメントアウトとは、コードに反映されないメモのことです。コメントアウトを活用することで、自分が書いたコードを他の人が見たときに理解しやすくなります。
本記事では「Excel VBA」のコメントアウトについて、以下の基本的な4つの内容について解説します。
- 「Excel VBA」のコメントアウトの概要
- 「Excel VBA」のコメントアウトの書き方
- 「Excel VBA」のコメントアウトのショートカット方法
- 「Excel VBA」でコメントアウトした方が良いケース
コメントアウトは「Excel VBA」に限らずプログラミングをするうえで身につけておくべき必須項目、必ず押さえておきましょう。
目次
Excel VBAのコメントアウトとは?

「Excel VBA」でのコメントアウトとは、プログラムの中に含まれるメモ書きや説明を記述するための方法です。コメントアウトを利用し、コードに反映されないメモを残すことで、他の人がコードを読んだときにより理解しやすくなります。これは一時的にその部分のコードを無効にする場合や、テストのために一部の処理をスキップしたい場合にも活用できる方法です。
またコメントアウトは、プログラムの可読性を高めるだけでなく、将来のメンテナンスや修正作業を容易にするためにも用いられます。さらに自分自身がコードを見直す際にも有用であり「何を意図して書いたコードなのか」を忘れないようにするための手がかりとしても役立つことでしょう。
Excel VBAのコメントアウトの書き方

ここでは「Excel VBA」のコメントアウトの書き方を解説します。ここで解説するコメントアウトの書き方は以下の5つです。
- コメントアウトを1行ずつ入れる
- 複数行を一括でコメントアウトする
- セルのコメントを追加する
- セルのコメントを削除する
- セルのコメントを取得する
ここで紹介する方法は、コメントアウトの基本的な書き方なので、よく読んで理解しておいてください。
コメントアウトを1行ずつ入れる
1つ目は、コメントアウトを1行ずつ入れる方法です。
1行ずつコメントアウトするには、「’」(シングルクォーテーション)を用います。コメントアウトされたコードは、プログラム実行時には無視され実行されません。
たとえば、以下のようなコードがあったとします。
Dim x As Integer x = 10 MsgBox x
このコードの一部をコメントアウトする場合、コメントアウトしたい行の先頭に「’」(シングルクォーテーション)を追加します。
Dim x As Integer 'x = 10 MsgBox x
これにより、x = 10の部分がコメントアウトされ実行時には無視されます。
複数行を一括でコメントアウトする
2つ目は、複数行を一括でコメントアウトする方法です。
複数行を一括でコメントアウトするには、コメントブロックを使います。表示されていない場合はメニューバーの表示→ツールバー→編集で表示してください。コメントしたい行を選択して、メニューバーからコメントブロックをクリックしましょう。
たとえば、先ほどのコードに対してすべて行にコメントアウトする場合は、コメントアウトする行を選択し、メニューバーからコメントブロックをクリックしてください。
そうすると、以下のようになります。
'Dim x As Integer 'x = 10 'MsgBox x
これにより、選択した行全体がコメントアウトされ実行時には無視されます。
セルのコメントを追加する
3つ目は、セルのコメントを追加する方法です。
AddCommentメソッドを使うことで、セルにコメントを追加できます。以下はもしセルA1にすでにコメントが存在する場合、そのコメントを削除し新しいコメント「This is a comment.」をセルA1に追加する例です。
If Not Range("A1").Comment Is Nothing Then Range("A1").Comment.Delete Range("A1").AddComment "This is a comment."
このコードを実行すると、セルA1に「This is a comment.」というコメントが追加されます。セルにマウスポインタを合わせるとコメントが表示されます。
セルのコメントを削除する
4つ目は、セルのコメントを削除する方法です。
ClearCommentsメソッドを使うことで、セルのコメントを削除できます。以下はセルA1のコメントを削除する例です。
Range("A1").ClearComments
このコードを実行すると、セルA1のコメントが削除されます。
コメントを削除することで、不要なコメントの削除や新しいコメントを追加する際にセルをクリーンにたもてます。
セルのコメントを取得する
5つ目は、セルのコメントを取得する方法です。
セルのコメントを取得するには、CommentオブジェクトのTextプロパティを使います。以下はセルA1のコメントを取得するコードの例です。
Dim commentText As String commentText = Range("A1").Comment.Text
このコードを実行すると、変数commentTextにセルA1のコメントの内容が格納されます。取得したコメントを、他の処理に使用したり表示したりできます。
Excel VBAでコメントアウトをショートカットする方法

ここでは「Excel VBA」でコメントアウトをショートカットする方法として、4つのステップでやり方を紹介します。
- ツールバーのユーザー設定を開こう
- 選択したボタンの編集をアクティブにする
- 選択したボタンの編集で名前を変えよう
- 非コメントブロックのアクセスキーを設定する
ショートカットのやり方をマスターしておくことで、コメントアウトをより効率的におこなえます。
ツールバーのユーザー設定を開こう
1ステップ目は、ツールバーのユーザー設定を開くことです。
まず、ツールバー上を任意の場所で右クリックし、表示されたメニューから「ユーザー設定」を選択してください。ユーザー設定ウィンドウが開くので、ウィンドウ内の「コマンド」タブを選択しましょう。

そしてウィンドウ左の「分類」から「編集」を選択し「コメントブロック」を押します。必要であれば、「非コメントブロック」のアイコンをドラッグ&ドロップでツールバーに追加してください。
アイコンを使用したコメントアウトのやり方は、
- コメントアウトしたいコードを選択する
- コメントブロックアイコンをクリックする
でおこなえます。

選択したボタンの編集をアクティブにする
2ステップ目は、選択したボタンの編集をアクティブにすることです。

選択したボタンの編集をアクティブにすることで、「選択したボタンの編集」がクリックできる状態になり、編集が可能になります。
また、選択したボタンの編集をアクティブにすることで、ツールバー上のコメントブロックアイコンをカスタマイズできます。
選択したボタンの編集で名前を変えよう
3ステップ目は、選択したボタンの編集で名前を変えることです。
「選択したボタンの編集」をクリックするとメニューが表示され、メニュー内の「名前」欄が入力できるようになります。ここで、「コメントブロック」と入力されていると思いますが、削除しても問題ありません。

その代わりに、すべて半角で「(&/)」と入力して、メニュー内の「イメージとテキストを表示」を選択しましょう。するとツールバーの「コメントブロック」のアイコンに「(/)」という表示が追加されます。これでアクセスキーの設定は完了です。
上記の設定をおこなうことにより、マウスでアイコンをクリックすることなくキーボードの「Alt + /」キーを押すだけでコメントブロックできます。
ただし、ウィンドウサイズの違いによってツールバーにコメントブロックのアイコンおよび「(/)」が表示されていなければ、アクセスキーは操作できないため注意が必要です。
非コメントブロックのアクセスキーを設定する
4ステップ目は、非コメントブロックのアクセスキーを設定することです。
「コメントブロック」だけでなく「非コメントブロック」のアクセスキーを設定する場合も、「コメントブロック」と同じ方法でできます。
おすすめのキーセットは「Alt + \」ですが、押しやすいキーセットで設定しましょう。
Excel VBAでコメントアウトした方が良いケースとは?

ここでは、「Excel VBA」でコメントアウトした方が良いケースを4つ紹介します。
- 複数人で作業をしている
- 条件分岐のルートを明示する
- 変数の意味を説明する
- プロシージャを説明する
「Excel VBA」でコメントアウトをする場合は、TPOを考慮し、適切なタイミングでおこなわなければなりません。
ここで解説する内容をよく読んで、コメントアウトをすべき適切なタイミングを押さえておきましょう。
複数人で作業をしている
1つ目は、複数人で作業をしている場合です。
VBAの開発は個人でおこなうことが一般的ですが、場合によっては複数でおこなう場合があります。そのようなケースにおいて、別の開発者がコードを修正する場合にはコメントアウトを使用することが一般的です。
なぜなら、コードを削除せず修正した内容やその目的をコメントとして残しておくことで、他の開発者が理解しやすくなるからです。また、万が一不具合が発生した場合にも修正履歴がわかるため、トラブルシューティングがスムーズにおこなえます。
条件分岐のルートを明示する
2つ目は、条件分岐のルートを明示する場合です。
If文などを使った条件分岐では、プログラムの制御の流れを理解しやすくするために、コメントアウトを使用するのが有効です。条件分岐の各ルートにコメントを追加することで、各条件がどのようなケースに対応しているのかを明示できます。
これにより他の開発者や将来の自分がコードを読んだ際に、意図した条件分岐のロジックを把握しやすくなります。
変数の意味を説明する
3つ目は、変数の意味を説明する場合です。
変数の意味や役割をコメントアウトで残してしておくことは、コードの可読性を高めるうえでも重要です。とくにパブリック変数は、複数の場所で使用される可能性があるため、変数の定義箇所にその利用目的や意味を記述しておくと、他の開発者が理解しやすくなります。
これにより、コードのメンテナンスや変更時にも、混乱を避けやすくなるでしょう。
プロシージャを説明する
4つ目は、プロシージャを説明する場合です。
プロシージャとは、特定の処理やタスクを実行するためのブロックです。プロシージャの目的や役割をコメントアウトで残しておくことは、コードの理解とメンテナンスを容易にします。
プロシージャが別の場所から呼び出される場合でも、呼び出し元のコードを読む必要がありません。コメントを参照するだけで、プロシージャが何をおこなっているのかを把握できるため、開発効率が向上するでしょう。
Excel VBAのコメントアウトを使って円滑に作業を進めよう

「Excel VBA」のコメントアウトについて、基本的な内容を解説しました。
「Excel VBA」を使って複数で作業をする場合には、円滑に作業を進めるうえでもコメントアウトは必ず使うことになります。そのため、これから「Excel VBA」を学ぼうと思っている方は本記事の内容を参考にして、コメントアウトの基本的な使い方やショートカットの方法をマスターしておきましょう。