【ExcelVBA】セルの書式設定の表示形式をマクロで調べてセルを色分けする

Excel VBA セルの書式設定

仕事で前任者からエクセルのデータを引き継いだときに行いたいのが「セルの書式設定の表示形式の確認」と「セルに設定されている関数の確認」の二つではないでしょうか。

今回は次のようなエクセルシートを例に、セルの書式設定の表示形式をマクロを使ってかんたんに確認する方法を行ってみたい思います。

表示形式が標準」のセルを色分けするマクロの作成

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

「挿入」→「標準モジュール」を選択して標準モジュールを作成します、作成した標準モジュールのModule1に次のコードをコピーして貼り付けます。

Sub 表示形式が標準のセルを水色で塗りつぶす()

Dim search_Cell As Range
Dim Flag As Boolean

For Each search_Cell In Range("A1:G21")

If search_Cell.NumberFormatLocal = "G/標準" Then '表示形式が標準の場合は

search_Cell.Interior.ColorIndex = 8 'セルを水色で塗りつぶします。
Flag = True

End If

Next search_Cell

If Flag = True Then 'ループ終了後にメッセージを表示します。

MsgBox "セルの書式設定の表示形式が「標準」のセルを水色で塗りつぶしました。"

Else

MsgBox "セルの書式設定の表示形式が「標準」のセルはありません。"

End If

End Sub

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

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

ボタンを作成したい場所でマウスでドラッグします。

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

作成したボタンを右クリックして「テキストの編集」を選び、ボタンの表示を「標準」にします。

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

作成した「標準」のボタンをクリックすると、次のようにセルの書式設定の表示形式が「標準」に設定されているセルが水色で塗りつぶしされます。

これで表示形式が「標準」のセルを確認できるようになりました。セルをひとつひとつ確認しているととても時間がかかるので、このようにボタンにマクロを登録しておけば確認が一瞬で行うことができます。

次回は、表示形式が「数値」のセルの確認方法を行いたいと思います。(^^♪