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

VBA セルの色をクリアする

はじめに

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

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

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

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

セルの色をクリアする

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

ClearFormats メソッドは色に加えて罫線などの書式もクリアされます。背景色に「塗りつぶしなし」の色を設定して、色だけをクリアできます。


Range("A2").Interior.ColorIndex = 0 ' 背景色だけをクリア

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

セルの範囲「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 = "アクティブ"
  • 目次
    • セルの色をクリアする
    • セルの範囲の色をクリアする
    • 指定したシートのセルの色をクリアする