VBAでシートの全セルの背景色をクリアする

シートの全セルの背景色をクリアする

シートの全セルの背景色をクリアするにはRangeオブジェクトのInterior.ColorIndexプロパティを利用します。

ColorIndexプロパティに定数xlNoneを指定すると背景色がクリアされます。

xlAutoMatic(自動)を指定してもクリアされたように見えますが、グリッド線も白色になってしまうため、クリアというより上塗りのような形になります。

xlNoneの場合

xlAutoMaticの場合

背景色のクリアの基本的なコードは上の通りですが、クリアしたい範囲にはいくつかあります。

シート全体、シートの一部、全シートなどです。

それらについてそれぞれコードを紹介します。

シート全体の背景色をクリアする

アクティブシートの背景色を全てクリアするコードです。

Cellsでシート全体を示します。

UsedRangeを使うと入力セル範囲に絞込みが行われます。

どちらを使っても構いません。

Cellsでのクリア

UsedRangeでのクリア

シートの一部の背景色をクリアする

シートの1行目から4行目までの背景色はクリアせず、5行目以降をクリアするコードです。

クリアする際にColorIndexプロパティを使うのは同じですが、その対象となるセル範囲の指定方法が異なります。

全シートの背景色をクリアする

全シートを指定したい場合は、Worksheetsコレクションをループして各シートに対して背景色のクリア処理を行います。

CellsはUsedRangeでも構いません。

関連記事

サブコンテンツ

このページの先頭へ