VBA セルの書式をクリアする (Range.ClearFormats)

はじめに

Excel VBA マクロでセルの書式をクリアする方法を紹介します。

Range("B1").ClearFormats または Cells(1, 2).ClearFormats メソッドから、セルの書式をクリアできます。

セルを範囲指定するすべての方法は「セルを範囲指定して取得する」をご覧ください。
  • 目次
    • セルの書式をクリアする
    • セルの範囲の書式をクリアする
    • 別シートのセルの書式をクリアする

セルの書式をクリアする

Range の引数にセル名を指定すると、そのセルの書式をクリアします。

セル「A1」の書式をクリアするには Range("A1").ClearFormats を入力します。

Range("A1").ClearFormats
1

Cells の引数にセルの行と列の番号を指定すると、そのセルの書式をクリアします。

行「2」、列「A」の書式をクリアするには Cells(2, 1).ClearFormats を入力します。

Cells(1, 1).ClearFormats ' A1
Cells(2, 1).ClearFormats ' A2
Cells(1, 2).ClearFormats ' B1
Cells(2, 2).ClearFormats ' B2

ClearFormats メソッドを使用すると色、罫線、条件付き書式などがクリアされます。

それ以外の値をクリアするには「セルをクリアする」をご覧ください。

セルの範囲の書式をクリアする

セルの範囲「A1」~「B2」の書式をクリアするには Range("A1:B2").ClearFormats または Range("A1", "B2").ClearFormats を入力します。

Range("A1:B2").ClearFormats
Range("A1", "B2").ClearFormats
2

シート全体のセルの書式をクリアするには Cells.ClearFormats を入力します。

Cells.ClearFormats

別シートのセルの書式をクリアする

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

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

sheet1
' Sheet1 のセル「A1」の書式をクリア
Worksheets("Sheet1").Range("A1").ClearFormats
Worksheets(1).Range("A1").ClearFormats

' Sheet2 のセル「A1」の書式をクリア
Worksheets("Sheet2").Range("A1").ClearFormats
Worksheets(2).Range("A1").ClearFormats

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

' どちらも同じコード
Range("A1").Value = "Sheet1"
Me.Range("A1").Value = "Sheet1"

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

' どちらも同じコード
Range("A1").Value = "アクティブ"
ActiveSheet.Range("A1").Value = "アクティブ"