Excel VBA(マクロ)で一意・重複した値に条件付き書式を設定する方法/FormatConditions.AddUniqueValuesメソッドの使い方

apple IT

FormatConditionsコレクションのAddメソッド(またはAddUniqueValuesメソッド)を使い、セル・範囲内で重複した/一意の値にのみ書式を変える条件付き書式を適用する方法についてです。

スポンサーリンク

FormatConditions.Addメソッド

条件付き書式の作成(一意/平均)
FormatConditions.Add(Type:=xlUniqueValues).適用する書式
※DupeUniqueプロパティが1なら重複、0なら一意の値に書式設定
vba uniquevalues1
この記事では、条件付き書式でいう一位の値または重複する値だけを書式設定をマクロで設定しようと思います。
' vba
Range("A1:A10").FormatConditions.Add(Type:=xlUniqueValues).Interior.Color = RGB(250, 100, 120)
範囲の後ろにFormatConditions.Addを付け、引数のTypeはxlUniqueValuesまたは8を設定し、その後ろに適用したい書式を記入します。
vba uniquevalues2
実行すると、一意の値(初期値)に対して書式が適用されます。重複する値に対して書式を適用したい場合は、DupeUniqueプロパティを変更する必要があります(後述)。

FormatConditions.AddUniqueValuesメソッド

条件付き書式の作成(一意/平均)
FormatConditions.AddUniqueValues.適用する書式
※DupeUniqueプロパティが1なら重複、0なら一意の値に書式設定
' vba
Range("A1:A10").FormatConditions.AddUniqueValues.Interior.Color = RGB(250, 100, 120)
先ほどのコードのFormatConditions.Add(Type:=xlUniqueValues)は、FormatConditions.AddUniqueValuesと書いても同じ意味になります。
vba uniquevalues3
どっちでも同じ動きをするので、好きなほうを使えばOKです。
AddUniqueValuesメソッドは、一意/重複の条件付き書式専用のメソッドです。

DupeUniqueプロパティ(一意/重複)

' vba
With Range("A1:A10").FormatConditions.AddUniqueValues
.DupeUnique = xlDuplicate
.Interior.Color = RGB(250, 100, 120)
End With
範囲内の条件付き書式の対象を重複/一意で切り替えるには、書式と同じようにしてDupeUniqueプロパティを指定します(参照:XlDupeUnique列挙型定数)。
vba uniquevalues4
値にxlDuplicateまたは1を指定すれば重複した値に書式が適用され、
vba uniquevalues5
値にxlUniqueまたは0を指定すれば、一意の値に書式が適用されます。
Excel(エクセル):条件付き書式
Excelの条件付き書式は、読んで字のごとく「特定の条件を満たした時にだけ指定した書式を適用する」機能です。また、セルの内容をより視覚的に表現する機能もいくつか用意されています。 書式には罫線、フォント、文字色、背景色などが含まれ、十分に...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント