アクセスログを眺めていて、
「excel2010 vba 条件付き書式 セルの背景色取得」
という検索キーワードで、このサイト・インストラクターのネタ帳へ辿り着いた方がいらっしゃることに気づきました。
条件付き書式で指定したセルの塗りつぶし背景色を、
取得したいということでしょうか。
いつものように参考になりそうなシンプルなマクロを作ってみました。
条件付き書式のセルの塗りつぶし色(セルの背景色)を取得して、イミディエイトウィンドウに出力するマクロです。
条件付き書式のセルの塗りつぶし背景色を取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブシートで設定されている条件付き書式の、セルの塗りつぶし背景色を表す数値が、イミディエイトウィンドウに出力されます。Dim fc As FormatCondition
For Each fc In Cells.FormatConditions
Debug.Print fc.Interior.Color
Next fc
End Sub
オブジェクトブラウザーやローカルウィンドウを確認しておきましょう
For Each~Nextループを使い慣れている方にとって、全体の構造は特に難しいところはないプロシージャです。
おそらく課題は、以下のような、条件付き書式関連のオブジェクト構造でしょう。
Rangeオブジェクト
└FormatConditionsコレクションオブジェクト
└FormatConditionオブジェクト
└Interiorオブジェクト
オブジェクトブラウザーを使って、FormatConditionオブジェクトのInteriorプロパティで、Interiorオブジェクトを取得するオブジェクト式の意味を、確認したり、
メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示しておいて、ショートカットキー[F8]で上記のSubプロシージャをステップ実行して、オブジェクト変数・fcの中身を見て、
FormatConditonオブジェクトから、具体的にどのような情報を取得できるかを確認したりすることを、おすすめしておきす。
- Newer:入力規則の種類を取得するExcelマクロ
- Older:VBAからTEXT関数を入力する
Home » Excel VBA Rangeオブジェクト » 条件付き書式 » 条件付き書式の背景色を取得するExcelマクロ