例えば以下の表の
・列「ID(=2列目)」の
・値が重複しているセル
の…
背景色を変更できます!
条件付き書式で実現できます!
ループ処理で
・各セルの値を確認するといったやり方
は不要です!
VBAコード
例えば
・シート「sample」上に、以下の表のようにB列「ID(=2列目)」が重複している
場合に、
重複行の背景色を変更するために、以下のコードを実行します。
Option Explicit
Sub sample()
Dim ws As Worksheet
Dim startRange As Range
Dim endRow As Double
Dim endRange As Range
'対象シートを取得
Set ws = Worksheets("sample")
'開始セルを取得
Set startRange = ws.Range("B3")
'最終行を取得
endRow = startRange.End(xlDown).Row
'最終セルを取得
Set endRange = ws.Cells(endRow, startRange.Column)
'現在設定されている条件付き書式をクリア
ws.Range(startRange, endRange).FormatConditions.Delete
'条件付き書式を利用して、値が重複しているセルの背景色を変更
With ws.Range(startRange, endRange).FormatConditions.AddUniqueValues
'対象を「重複する値」にする
.DupeUnique = xlDuplicate
'背景色を薄いピンクにする
.Interior.Color = XlRgbColor.rgbLightPink
End With
End Sub
実行結果
値が重複しているセルの背景色を変更できました。
参考①
値が重複しているセルの背景色を変更(=重複の有無の確認)は、手動でもできます。
詳細は以下の記事をご確認ください。
参考②
重複行を削除することもできます。
詳細は以下の記事をご確認ください。
参考③
条件付き書式の設定を解除することもできます。
詳細は以下の記事の
・備考(全ての条件付き書式をクリア)
をご確認ください。
参考④
上記のVBAコードでは、色の指定に列挙体「XlRgbColor」を使用しています。
列挙体「XlRgbColor」の詳細は、以下の記事をご確認ください。
参考⑤
列挙体そのものについては、以下の記事をご確認ください。
参考⑥
上記のVBAコードで使用した「UniqueValuesオブジェクト」の詳細は、公式サイトをご確認ください。