プログラムのコメントアウト方法について

今回の目標

  • コメントアウトとは何か理解する
  • コメントアウトの方法を知る
  • コメントアウトの解除法を知る

説明

自分で作成したプログラムでも3ヶ月も経てば、作成した意図が分からないプログラムになります。そうした状況を無くすために、プログラム内にメモを残す方法があります。

コメントアウトする

普通にメモを残そうとするとエラーが発生していまいます。まずは次のプログラムを実行してください。(エラーが発生します

Sub Sample_Comment1()
    セルA1に値「1」を入力する
    Cells(1, 1) = 1
End Sub
次の図のエラーが発生すると思います。
コメント時の命令漏れエラー

エラーが発生しないように、コメントアウトしましょう。
方法は簡単で「コメントの先頭にシングルコーテーション「'」を入力してからメモを入力する」のです。

'セルA1に値「1」を入力する

このコメントアウトとはこの行のシングルコーテーション以降のプログラムは実行させないという意味を持ちます。そのため、エラーが発生しなかったのです。
シングルコーテーションを入力してキャレット(入力待機時の点滅している縦線)を移動させるとコメントアウトさせた行の文字が緑色に変化します。
先ほどのプログラムを修正すると次の通りになります。

Sub Sample_Comment1()
    'セルA1に値「1」を入力する
    Cells(1, 1) = 1
End Sub

このコメントアウトはメモだけでなく、プログラムを実行させないこともできます。次のプログラムはD1に値「1」を設定していますが、C1への代入はコメントアウト化されているため、実行されません。

Sub Sample_Comment2_1()
    'セルC1に値「1」を入力する
    'Cells(1, 3) = 1
    'セルD1に値「1」を入力する
    Range("D1") = 1
End Sub

次のように命令の後にコメントを追加することもできます。

Sub Sample_Comment2_2()
    Range("D1") = 1     'セルD1に値「1」を入力する
End Sub

少し先の話になりますが、どこが原因でエラーが発生しているかわからないときに、プログラムをコメントアウトして、このプログラムを実行させないとエラーが出ないからここにエラーの原因がある、といった使い方もできます。合わせて覚えておきましょう。

コメントアウトを解除する

コメントアウトされている状態からプログラムが実行されるようにします。先頭のシングルコーテーションを削除してください。先の"Sample_Comment2"を変更してみます。

Sub Sample_Comment3()
    'セルC1に値「1」を入力する
    Cells(1, 3) = 1
    'セルD1に値「1」を入力する
    Range("D1") = 1
End Sub

一括してコメントアウトする

前提

大量にコメントアウトする場合の方法として、「編集」ウィンドウが表示されている必要があります。下の画像の赤枠内を右クリックしてください。

コメント時の命令漏れエラー

「編集」にチェックが入っていないなら、「編集」をクリックしてください。
右クリック時の選択

すると、次のウィンドウが表示されます。
編集ウィンドウ

表示されたら、プログラムに戻りコメントアウトしたい命令をドラッグで選択しましょう。
下記サンプルをVBEへコピペしてください。

Sub Sample_Comment4()
    Cells(1, 1) = 1
    Cells(1, 2) = 1
    Cells(1, 3) = 1
    Cells(1, 4) = 1
    Cells(1, 5) = 1
    Cells(1, 6) = 1
End Sub

上記の例は、A1~F1に値「1」を入力するプログラムです。これのB1~F1の命令文( Cells(1, 2) = 1 ~ Cells(1, 6) = 1)をコメントアウトしてみます。

一括コメントアウトする

  1. 対象をドラッグして選択します。

  2. 編集ウィンドウから下図の赤枠のマークをクリックします。

  3. 選択された行の先頭にシングルコーテーションが追加されています。

一括してコメントアウトを解除する

  1. コメントアウトを解除する行をドラッグ等で選択します。

  2. 編集ウィンドウの下図の赤枠をクリックします。

  3. 先頭のシングルコーテーションがなくなり、コメントアウトが解除されています。

余談ですが、「1」のコメントアウトを解除する行を選択するとき、コメントアウトされていないプログラムを選択しても何も起こりません。

コラム

’(シングルコーテーション)以外のコメントアウトの方法について、説明します。「Rem 」と行の先頭に入力するとコメントアウトできます。 しかし、一文字のシングルコーテーションでコメントアウトすることがメジャーですので、知識として知っておくレベルで大丈夫です。

確認テスト

次の問いに答えなさい。

  1. 2行目をコメントアウトしなさい。

    Sub TestComment1()
        A5に"加藤"を入力する
        Cells(5, 1) = "加藤"
    End Sub
    

    【解答例】

    Sub TestCommentAns1()
        'A5に"加藤"を入力する
        Cells(5, 1) = "加藤"
    End Sub
    
  2. 2行目の[A6に・・・]以降をコメントアウトしなさい。

    Sub TestComment2()
        Cells(6, 1) = "加藤"    A6に"加藤"を入力する
    End Sub
    

    【解答例】

    Sub TestCommentAns2()
        Cells(6, 1) = "加藤"   'A6に"加藤"を入力する 
    End Sub
    
  3. 2行目のコメントアウトを解除しなさい。
    Sub TestComment3()
        'Cells(1, 1) = "加藤"
    End Sub
    

    【解答例】

    Sub TestCommentAns3()
        Cells(1, 1) = "加藤"
    End Sub
    

関連リンク

ページの先頭へ