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

VBA セルの色をクリアする

はじめに

Excel VBA のセルの色をクリアする方法を紹介します。

Range.ClearFormats メソッドか Cells.ClearFormats メソッドでセルの色をクリアできます。

ColorIndex プロパティから色を塗りつぶしなしにできます。

セルの色をクリアする

ClearFormats 関数で色をクリアすると、一緒に罫線などの書式もクリアされます。
背景色に「塗りつぶしなし」の色を設定して、色だけをクリアできます。Interior.ColorIndex に 0 を設定します。

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

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

Range("A1").ClearFormats ' 色と書式をクリア
Range("A2").Interior.ColorIndex = 0 ' 背景色だけをクリア
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

セルの範囲の色をクリアする

セルの範囲「A1」~「B2」の色をクリアするには Range("A1:B2").ClearFormats または Range("A1", "B2").ClearFormats のように指定します。

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

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

Cells.ClearFormats

指定したシートのセルの色をクリアする

Range.ClearFormats とコードに書くと、アクティブなシートのセルをクリアします。これは ActiveSheet.Range.ClearFormats の ActiveSheet が省略されています。

' どちらも同じコード
Range("A1").ClearFormats
ActiveSheet.Range("A1").ClearFormats

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

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

' Sheet1 のセル「A1」の色をクリア
Sheets("Sheet1").Range("A1").ClearFormats
Sheets(1).Range("A1").ClearFormats

' Sheet2 のセル「A1」の色をクリア
Sheets("Sheet2").Range("A1").ClearFormats
Sheets(2).Range("A1").ClearFormats

関連ページ