スライドショー

【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入門】Withの使い方、入れ子(ネスト)で使う方法
更新日 : 2019年4月3日
[実行結果]

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で自動化するのもいいですね。

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

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

イシキ マコト

イシキ マコト

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

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