コメントアウト

今回の目標

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

    自分で作成したプログラムでも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行目をコメントアウトしなさい。
    2. Sub TestComment1()
          A5に"加藤"を入力する
          Cells(5, 1) = "加藤"
      End Sub
      
    3. 2行目の[A6に・・・]以降をコメントアウトしなさい。
    4. Sub TestComment2()
          Cells(6, 1) = "加藤"    A6に"加藤"を入力する
      End Sub
      
    5. 2行目のコメントアウトを解除しなさい。
    6. Sub TestComment3()
          'Cells(1, 1) = "加藤"
      End Sub
      
    解答1 解答2 解答3

    関連リンク

    次ページ:変数について

    前ページ:Cellsについて

    ページの先頭へ