更新日:、 作成日:
VBA セルの色をクリアする (Interior.ColorIndex)
はじめに
Excel VBA マクロでセルの色をクリアする方法を紹介します。
Range("B1").Interior.Color または Cells(1, 2).Interior.Color プロパティから、セルの背景色を塗りつぶしなしにできます。
Font.ColorIndex プロパティから、セルの文字色を黒色にできます。
ClearFormats メソッドから、セルの色や罫線などの書式を削除できます。
セルの色をクリアする
Range の引数にセル名を指定すると、そのセルの色をクリアします。
セル「A1」の背景色を塗りつぶしなしにするには Range("A1").Interior.ColorIndex を入力します。
Range("A1").Interior.ColorIndex = 0 ' 背景色を塗りつぶしなし
Range("A1").Font.ColorIndex = 1 ' 文字色を黒色
Cells の引数にセルの行と列の番号を指定すると、そのセルの色をクリアします。
行「2」、列「A」の背景色を塗りつぶしなしにするには Cells(2, 1).Interior.ColorIndex を入力します。
Cells(1, 1).Interior.ColorIndex = 0 ' A1
Cells(2, 1).Interior.ColorIndex = 0 ' A2
Cells(1, 2).Interior.ColorIndex = 0 ' B1
Cells(2, 2).Interior.ColorIndex = 0 ' B2
ColorIndex の値に対応した色は次の通りです。
ClearFormats メソッドから、色や罫線などの書式をクリアできます。
Range("A1").ClearFormats ' 書式をクリア
スポンサーリンク
セルの範囲の色をクリアする
セルの範囲「A1」~「B2」の色をクリアするには Range("A1:B2").Interior.ColorIndex または Range("A1", "B2").Interior.ColorIndex を入力します。
Range("A1:B2").Interior.ColorIndex = 0 ' 背景色
Range("A1", "B2").Font.ColorIndex = 1 ' 文字色
Range("A1:B2").ClearFormats ' 書式をクリア
シート全体のセルの色をクリアするには Cells.Interior.ColorIndex を入力します。
Cells.Interior.ColorIndex = 0 ' 背景色
Cells.Font.ColorIndex = 1 ' 文字色
Cells.ClearFormats ' 書式をクリア
別シートのセルの色をクリアする
シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。
Sheet1 を指定するには Worksheets("Sheet1") または Worksheets(1) を入力します。
' Sheet1 のセル「A1」の色をクリア
Worksheets("Sheet1").Range("A1").Interior.ColorIndex = 0 ' 背景色
Worksheets(1).Range("A1").Font.ColorIndex = 1 ' 文字色
' Sheet2 のセル「A1」の色をクリア
Worksheets("Sheet2").Range("A1").Interior.ColorIndex = 0 ' 背景色
Worksheets(2).Range("A1").Font.ColorIndex = 1 ' 文字色
Sheet1 に Range や Cells を入力すると、自身のシートのセルになります。自身を表す Me. が省略されています。
' どちらも同じコード
Range("A1").Value = "Sheet1"
Me.Range("A1").Value = "Sheet1"
標準モジュールに Range や Cells を入力すると、開いているシートのセルになります。アクティブシートを表す ActiveSheet. が省略されています。
' どちらも同じコード
Range("A1").Value = "アクティブ"
ActiveSheet.Range("A1").Value = "アクティブ"
スポンサーリンク