【VBA入門】コメントアウトの書き方とセルへのコメント追加

Excelには、コメントと呼ばれる機能があります。

この記事では、コメントについて

  • コメントとは
  • コードにコメントを追加する方法
  • 複数行を一括でコメントアウトする方法
  • セルのコメントを追加と削除する方法

といったように、基本的な内容から応用的な使い方についても解説していきます。

コメントが意味する内容は複数あるので、まずは定義を確認します。その後で、例を交えながら詳しく解説していきます。

目次

コメントとは

Excelには、コメントと呼ばれる機能は2種類あります。

1つは、VBAのコードのコメントです。もう1つは、Excelのセルのコメントです。名前は同じですが、次のように両者は全く別の機能です。

VBAコードのコメントアウト

VBAのコードのコメントは、コードに対するメモ書きとして使用できます。これにより、自分が書いたコードを他人が見たときに理解しやすくなります。

また、自分が書いたコードでも時間がたつと忘れてしまいます。将来の自分の為にもなるので、コメントを書く習慣をつけておくといいですね。

次の画像は、VBAのコードのコメントの例です。

vba_comments07 0

コメントはプログラムの実行結果に影響しないので、テストやデバッグのためにコードを一時的にコメントにすることもあります。

セルのコメント

Excelでは、次のようにセルを「右クリック→コメントの挿入」としてセルのコメントを使用することができます。

vba_comments02

次の画像ようなセルのコメントが挿入されます。

vba_comments03

デフォルトでは、セルのコメントはマウスカーソルがセルの上にある場合のみ表示されます。

マウスカーソルがセルの上にない場合は、次のように右上の角に赤いマークが表示されています。

vba_comments04

このセルのコメントは、常に表示させることができます。そのためには、次のようにセルのコメントがあるセルを「右クリック→コメントの表示/非表示」とします。

vba_comments05

逆に、表示させないためには、次のように「右クリック→コメントのコメントを表示しない」とします。

vba_comments06

ここまで見た通り、VBAのコードのコメントとセルのコメントは全く別の異なる機能です。

コードにコメントを追加する方法

VBAでは、次のように'(シングルクォーテーション)を用いてコメントを使用することができます。

' コメント

次のサンプルコードでは、「’ これがコメントです。」と「MsgBox(“このコードは実行されません。”)」の部分がコメントです。

Sub Sample1()
    ' これがコメントです。
    ' MsgBox("このコードは実行されません。")
    MsgBox ("このコードは実行されます。")
End Sub

[実行結果]

vba_comments07

このようにコメントは実行結果に影響を与えません。

複数行を一括でコメントアウトする方法

動作確認の際に、複数行を一括でコメントアウトできると便利ですね。これは、コメントブロックを使用することで可能です。

vba_comments08

コメントブロックが表示されていない場合があります。その場合は、メニューバーから「表示→ツールバー→編集」とすることで表示されます。

vba_comments09

コメントブロックの使い方

コメントにしたい行を選択して、メニューバーからコメントブロックをクリックします。

vba_comments08

[実行前]

vba_comments07 0

(全ての行を選択し、コメントブロックをクリックします。)

[実行後]

vba_comments01

実行後の画像から複数行を一括でコメントアウトされたことが確認できます。

非コメントブロックの使い方

コメントを解除したい行を選択して、メニューバーから非コメントブロックをクリックします。

vba_comments10

[実行前]

vba_comments01

(全ての行を選択し、コメントブロックをクリックします。)

[実行後]

vba_comments07 0

実行後の画像から複数行に渡るコメントアウトが解除されたことが確認できます。

セルのコメントを追加と削除する方法

AddCommentでセルにコメントを追加する

AddCommentメソッドでセルにコメントを追加するためには、次のように記述します。

Sub Sample()
    Range("B2").AddComment "これが、セルのコメントです"
    Range("C3").AddComment "これも、セルのコメントです"
End Sub

[実行結果]

vba_comments11

実行結果から、セルの右上の角に赤いマークが付き、セルのコメントが追加されていることが確認できます。

また、次のようにセルのコメントの設定を行う方法があります。

Sub Sample()
    Range("B2").AddComment "これが、セルのコメントです"
    
    With Range("C3").AddComment("これも、セルのコメントです")
         .Visible = True
    End With
End Sub

AddCommentメソッドは戻り値として、セルのコメントのオブジェクトを返します。セルC3のコメントをWithステートメントに指定して、設定を行っています。

この例では、コメントを常に表示するために「.Visible = True」としています。

Withステートメントについて、詳しくは次の記事で取り扱っていますので是非ご覧ください!

[実行結果]

vba_comments12

コメントが常に表示されていることが確認できます。

ClearCommentsでセルのコメントを削除する

次のように範囲内を指定してClearCommentsメソッドでセルのコメントを削除できます。

Sub Sample()
    Range("B2:C3").ClearComments
End Sub

このサンプルコードでは、セルB2からセルC3までの範囲にあるセルのコメントを削除するために「Range(“B2:C3”).ClearComments」としています。

[実行結果]

vba_comments13

実行結果より、セルB2からセルC3までの範囲にあるセルのコメントが全て削除されていることを確認できます。

セルのコメントを取得する方法

セルのコメントを取得するにはCommentオブジェクトのTextプロパティを使います。

Sub Sample()
    MsgBox Range("B2").Comment.Text
End Sub

[実行結果]

Comment01

まとめ

いかがでしたか?

今回は、コメントについて解説しました。VBAのコードのコメントとセルのコメントについて理解できたでしょうか?

セルのコメントの追加・削除をExcelVBAで自動化するのもいいですね。

もし、コメントを使用する機会があれば、この記事を思い出してみてください!

この記事を書いた人

フリーランスのエンジニアです。
最近では、プログラミング関連の記事を作成するライターとしても活動しています。

趣味と業務の両方でプログラミング言語をいくつも学んできたので
その経験を活かして分かりやすい記事を作成できればと考えています。

目次