サイトについて      連絡先   検索

VBA 列をクリアする

はじめに

Excel VBA マクロの列をクリアする方法を紹介します。

Columns.Clear メソッドか Range.Clear メソッドで列をクリアできます。

  • 目次
    • 列をクリアする
    • 列の範囲をクリアする
    • 指定したシートの列をクリアする

列をクリアする

列をクリアするメソッドはいくつもあります。クリアする目的にあったものを使用します。

メソッド名 クリアするもの
Clear全て
ClearCommentsコメント
ClearContents値と数式
ClearFormats書式 (色や罫線、条件付き書式など)
ClearNotesコメント
ClearOutlineアウトライン
ClearHyperlinks
(Excel 2010 以降)
ハイパーリンク

Columns の引数に列番号を指定すると、その列をクリアできます。

列「B」をクリアするには Columns(2).Clear または Columns("B").Clear のように指定します。


Columns(2).Clear
Columns("B").Clear
1

Range.EntireColumn を使用すると、指定したセルの列を取得できます。

セル「A1」の列をクリアするには Range("A1").EntireColumn.Clear のように指定します。


Range("A1").EntireColumn.Clear

列の範囲をクリアする

列の範囲「B ~ C」をクリアするには Range("B:C").Clear または Range(Columns(2), Columns(3)).Clear のように指定します。


Range("B:C").Clear                  ' 列「B ~ C」をクリア
Range(Columns(2), Columns(3)).Clear ' 列「B ~ C」をクリア
Range("D:D").Clear                  ' 列「D」をクリア
2

全てのセルをクリアするには Cells.Crear のように指定します。


Cells.Clear

指定したシートの列をクリアする

シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。

Sheet1 を指定するにはWorksheets("Sheet1")またはWorksheets(1)を入力します。

sheet1

' Sheet1 の列「A」をクリア
Worksheets("Sheet1").Columns(1).Clear
Worksheets(1).Columns(1).Clear

' Sheet2 の列「A」をクリア
Worksheets("Sheet2").Columns(1).Clear
Worksheets(2).Columns(1).Clear

Sheet1 に Columns を入力すると、自身のシートの列になります。自身を表すMe.が省略されています。


' どちらも同じコード
Dim r As Range
Set r = Columns(1)
Set r = Me.Columns(1)

標準モジュールに Columns を入力すると、アクティブなシートの列になります。アクティブシートを表すActiveSheet.が省略されています。


' どちらも同じコード
Dim r As Range
Set r = Columns(1)
Set r = ActiveSheet.Columns(1)
  • 目次
    • 列をクリアする
    • 列の範囲をクリアする
    • 指定したシートの列をクリアする