【ExcelVBA】セルの背景色を消して元の状態に戻すボタンの作成

Excel VBA セルの書式設定

前回までにセルの表示形式の違いによってセルを色分けするプログラムが完成しました。

今回は、セルの背景色を消して元の状態(透明)に戻すコードをボタンに登録して、ワンクリックでセルの色が全て消えるようにしたいと思います。

開発タブ → Visual BasicをクリックしてVBEを起動します。

前回と同じ「標準モジュール」のModule1を選択して次のコードをコピーして貼り付けます。

Sub セルの背景色を塗りつぶしなしにする()

Range("A1:G21").Interior.ColorIndex = xlNone 'セルの背景色を「塗りつぶしなし」にします。

MsgBox "セルの背景色を「塗りつぶしなし」にしました。"

End Sub

ボタンを作成してマクロの登録

マクロを実行する「塗りつぶしなし」のボタンを作成します。

エクセルのSheet1を表示して「開発」タブ →「挿入」→「ボタン(フォームコントロール)」をクリックします。

塗りつぶしなしのボタンを作成したい場所をマウスでドラッグします。

マクロの登録ダイアログボックスが表示されるので、マクロ名から「セルの背景色を塗りつぶしなしにする」を選択して、OKボタンを押します。

作成した「ボタン6」を右クリックして「テキストの編集」を選択し、表示を「塗りつぶしなし」にします。

ボタンに登録したマクロの実行

作成した「塗りつぶしなし」のボタンをクリックすると、A1からG21の範囲の全てのセルの背景色が消えて元の状態(透明)になります。

4回に渡ってセルの表示形式について書かせていただきました。紹介したコードで全ての表示形式に対応することはできませんが、エクセルのデータを引き継いだときにセルがどのような表示設定になっているかをかんたんに確認するには良いプログラムではないかと思います。