エクセルマクロで、重複データを値ごとに色分けするVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください!
重複データを値ごとに色分け
以下のExcelVBAを実行すると、重複データを値ごとに色分けします。
Sub 重複データを値ごとに色わけ()
Dim DicName As Variant
Dim DicColor As Variant
Dim i As Long
Dim j As Long
Dim Q As Long
Dim GetName As String
Dim myKey As Variant
Dim myList As Variant
'連想配列
Set DicName = CreateObject("Scripting.Dictionary")
Set DicColor = CreateObject("Scripting.Dictionary")
'A列のデータを配列に格納
myList = Range("A1", Range("A" & Rows.Count).End(xlUp))
'配列をループ
For i = 2 To UBound(myList)
'値を変数へ
GetName = Cells(i, 1)
'重複しないリストを連想配列へ
If Not DicName.Exists(GetName) Then
DicName.Add GetName, GetName
Else
'重複しているリストを連想配列へ(色付け対象のリスト)
If Not DicColor.Exists(GetName) Then
DicColor.Add GetName, GetName
End If
End If
Next i
myKey = DicColor.keys
Q = 20
'重複しているリストをループ
For i = 0 To UBound(DicColor.items)
'セルA2から最終行までループ
For j = 2 To UBound(myList)
If Cells(j, 1) = myKey(i) Then
'セルを色付け
Cells(j, 1).Interior.Color = RGB(0, 50 + Q, 100 + Q)
End If
Next j
Q = Q + 60
Next i
Set DicName = Nothing
Set DicColor = Nothing
End Sub
マクロ実行後
A列の中で、重複していて同じ値のセルに同じ色をつけます。
下図を例にすると、「グレープフルーツ」のセルは、すべて同じ色がついています。
同じ色をつけることで、同じ値のセルの位置がわかりやすくなります。
※今回の例では、重複している値は4個ありました。
(アケビ、オレンジ、イチゴ、グレープフルーツ)
もし重複している値が9個以上ある場合は、後半の重複値に色がつかなくなるようなので、
[Interior.Color] の数値を修正する必要があります。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】重複データを自動処理する使用例まとめ
【エクセルマクロ】重複データを自動操作:超便利13選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク