Excelには、コメントと呼ばれる機能があります。
この記事では、コメントについて
- コメントとは
- コードにコメントを追加する方法
- 複数行を一括でコメントアウトする方法
- セルのコメントを追加と削除する方法
といったように、基本的な内容から応用的な使い方についても解説していきます。
コメントが意味する内容は複数あるので、まずは定義を確認します。その後で、例を交えながら詳しく解説していきます。
コメントとは
Excelには、コメントと呼ばれる機能は2種類あります。
1つは、VBAのコードのコメントです。もう1つは、Excelのセルのコメントです。名前は同じですが、次のように両者は全く別の機能です。
VBAコードのコメントアウト
VBAのコードのコメントは、コードに対するメモ書きとして使用できます。これにより、自分が書いたコードを他人が見たときに理解しやすくなります。
また、自分が書いたコードでも時間がたつと忘れてしまいます。将来の自分の為にもなるので、コメントを書く習慣をつけておくといいですね。
次の画像は、VBAのコードのコメントの例です。
コメントはプログラムの実行結果に影響しないので、テストやデバッグのためにコードを一時的にコメントにすることもあります。
セルのコメント
Excelでは、次のようにセルを「右クリック→コメントの挿入」としてセルのコメントを使用することができます。
次の画像ようなセルのコメントが挿入されます。
デフォルトでは、セルのコメントはマウスカーソルがセルの上にある場合のみ表示されます。
マウスカーソルがセルの上にない場合は、次のように右上の角に赤いマークが表示されています。
このセルのコメントは、常に表示させることができます。そのためには、次のようにセルのコメントがあるセルを「右クリック→コメントの表示/非表示」とします。
逆に、表示させないためには、次のように「右クリック→コメントのコメントを表示しない」とします。
ここまで見た通り、VBAのコードのコメントとセルのコメントは全く別の異なる機能です。
コードにコメントを追加する方法
VBAでは、次のように'(シングルクォーテーション)を用いてコメントを使用することができます。
' コメント
次のサンプルコードでは、「’ これがコメントです。」と「MsgBox(“このコードは実行されません。”)」の部分がコメントです。
Sub Sample1() ' これがコメントです。 ' MsgBox("このコードは実行されません。") MsgBox ("このコードは実行されます。") End Sub
[実行結果]
このようにコメントは実行結果に影響を与えません。
複数行を一括でコメントアウトする方法
動作確認の際に、複数行を一括でコメントアウトできると便利ですね。これは、コメントブロックを使用することで可能です。
コメントブロックが表示されていない場合があります。その場合は、メニューバーから「表示→ツールバー→編集」とすることで表示されます。
コメントブロックの使い方
コメントにしたい行を選択して、メニューバーからコメントブロックをクリックします。
[実行前]
(全ての行を選択し、コメントブロックをクリックします。)
[実行後]
実行後の画像から複数行を一括でコメントアウトされたことが確認できます。
非コメントブロックの使い方
コメントを解除したい行を選択して、メニューバーから非コメントブロックをクリックします。
[実行前]
(全ての行を選択し、コメントブロックをクリックします。)
[実行後]
実行後の画像から複数行に渡るコメントアウトが解除されたことが確認できます。
セルのコメントを追加と削除する方法
AddCommentでセルにコメントを追加する
AddCommentメソッドでセルにコメントを追加するためには、次のように記述します。
Sub Sample() Range("B2").AddComment "これが、セルのコメントです" Range("C3").AddComment "これも、セルのコメントです" End Sub
[実行結果]
実行結果から、セルの右上の角に赤いマークが付き、セルのコメントが追加されていることが確認できます。
また、次のようにセルのコメントの設定を行う方法があります。
Sub Sample() Range("B2").AddComment "これが、セルのコメントです" With Range("C3").AddComment("これも、セルのコメントです") .Visible = True End With End Sub
AddCommentメソッドは戻り値として、セルのコメントのオブジェクトを返します。セルC3のコメントをWithステートメントに指定して、設定を行っています。
この例では、コメントを常に表示するために「.Visible = True」としています。
Withステートメントについて、詳しくは次の記事で取り扱っていますので是非ご覧ください!
[実行結果]
コメントが常に表示されていることが確認できます。
ClearCommentsでセルのコメントを削除する
次のように範囲内を指定してClearCommentsメソッドでセルのコメントを削除できます。
Sub Sample() Range("B2:C3").ClearComments End Sub
このサンプルコードでは、セルB2からセルC3までの範囲にあるセルのコメントを削除するために「Range(“B2:C3”).ClearComments」としています。
[実行結果]
実行結果より、セルB2からセルC3までの範囲にあるセルのコメントが全て削除されていることを確認できます。
セルのコメントを取得する方法
セルのコメントを取得するにはCommentオブジェクトのTextプロパティを使います。
Sub Sample() MsgBox Range("B2").Comment.Text End Sub
[実行結果]
まとめ
いかがでしたか?
今回は、コメントについて解説しました。VBAのコードのコメントとセルのコメントについて理解できたでしょうか?
セルのコメントの追加・削除をExcelVBAで自動化するのもいいですね。
もし、コメントを使用する機会があれば、この記事を思い出してみてください!