VBAのコメントはシングルクォーテーションしかない

VBAのコードはシングルクォーテーション(’)でしかコメントにする方法はありません。

他のプログラミング言語であれば単一行のコメント化と複数行のコメント化の2通りの方法があるのが一般的ですが、VBAには残念ながらありません。

そのため、複数行を一度にコメント化したりコメントを解除するときに大変面倒です。

ここでは、複数行のコメント化およびコメントを解除する方法、そして、コメント化とコメント解除のショートカットキーの設定方法を紹介します。


VBAエディタで複数行のコードをコメント化および解除するには

VBAエディタで複数行のコードをコメント化および解除するには、設定の追加が必要です。

設定の追加手順は以下の通りです。

  1. 開発タブが表示されていなければ追加する。
    (Excelを起動し、ファイルメニュー→オプション→リボンのユーザー設定→「開発」にチェックを付ける。Excelブックに戻ると開発タブが表示される。)
  2. VBAエディタを開く。
    (Excelブックを表示した状態で、開発タブ→「Visual Basic」を選択する。または、Excelブックを表示した状態で、Alt+F11キーを押す。)
  3. VBAエディタの「表示」メニュー→ツールバー→「編集」を選択する。または、ツールバーを右クリック→「編集」を選択する。
  4. VBAエディタのツールバーに「編集」ツールが追加される。
    この「編集」ツールバーに「コメントブロック」と「非コメントブロック」のボタンがあります。左が「コメントブロック」ボタン、右が「非コメントブロック」ボタンです。
  5. ツールバーへの追加は以上です。

VBAエディタでコードを複数行選択して、「コメントブロック」ボタンを押すと、選択した行の先頭にシングルクォーテーションが付与されてコメント化されますコメントを外したい場合は、それらの行を選択して「非コメントブロック」ボタンを押します

通常はこれでいいのですが、複数行のコメントの設定と解除をする度にいちいち「コメントブロック」ボタン、「非コメントブロック」ボタンを押さなければならないのが面倒に感じるかもしれません。そこで、以下でボタンにショートカットを設定する方法を紹介します。


コメントブロックボタンと非コメントブロックボタンにショートカットを設定する

「コメントブロック」ボタンと「非コメントブロック」のボタンにショートカットを設定する手順は以下になります。

  1. 「コメントブロック」ボタンを右クリックして、ユーザー設定、を選択する。「ユーザー設定」ダイアログが表示される。

  2. 「ユーザー設定」ダイアログが表示された状態で、編集ツールバー上にある「コメントブロック」ボタンを右クリックする。コンテキストメニューが表示される。
  3. コンテキストメニューの「名前」欄にある「コメント ブロック」を「(&/)」に変更し、「イメージとテキストを表示(A)」にチェックを付ける。
    (「(&/)」の「/」は他の文字でも構いません。CommentOutの「(&c)」などでもOKです。C言語のコメント文字であるスラッシュ/をここでは採用しています。テキスト表示をしないとショートカットが機能しないため「イメージとテキストを表示(A)」にチェックを付けています。)
  4. 「非コメントブロック」ボタンも同様に名前を「&(\)」に変更して、「イメージとテキストを表示(A)」にチェックを付ける。(\はスラッシュ(/)キーの1つ右にあるので採用してます。他の文字でもOKです。)

設定が終わったら、このようにショートカットキーのテキストもボタン表示に加わります。テキスト「(/)と(\)」が表示されてないとショートカットが機能しません。

あとは、コードでコメントにしたい行または複数行を選択して、Altキー+/キーを押すとコメント化され、Alt+\を押すとコメントが解除されます。\はスラッシュキーの右のアンダーバーのキーでも、=キーの2つ右のキーでもどちらも動作します。

割り当てるキーには好みがあると思います。「Comment out」の「(&c)」でのAlt+cキーと、「Uncomment」の「(&u)」でのAlt+uキーなどもいいかと思います。割り当てるキーは適当に考えてみてください。