エクセルのマクロを利用して、列で重複している値のセルを色塗りしてみました。
列で重複している値のセルを色塗りする
やりたいことは以下の画像のように、列で重複している値がある場合に、重複している値のセルを色塗りする、というものです。
画像では [a] という値が1行目、7行目、14行目にありますが、7行目、14行目の重複している値にだけ色塗りをしています。
以下のvbaで色塗り可能です。
Sub HighlightDuplicates()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim dict As Object
Dim lastRow As Long
' 対象のシートと列を設定
Set ws = ThisWorkbook.ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Set rng = ws.Range("A1:A" & lastRow)
' 重複を見つけて色を付けるための辞書を作成
Set dict = CreateObject("Scripting.Dictionary")
' 重複するセルを色付け
For Each cell In rng
If cell.Value <> "" Then
If dict.exists(cell.Value) Then
cell.Interior.Color = RGB(255, 255, 0) ' 黄色で塗りつぶし
Else
dict.Add cell.Value, 1
End If
End If
Next cell
End Sub
コメント