Из старого потока ( Excel 2010 vba выделите ячейками разных цветов с разными дублирующимися значениями в нескольких столбцах ) код в ответе работает следующим образом. Он выделяет разные совпадающие ячейки в диапазоне разными цветами ...
Sub Highlight_Duplicate_Addresses()
Dim ws As Worksheet
Dim cell As Range
Dim myrng As Range
Dim clr As Long
Dim lastCell As Range
Set ws = ThisWorkbook.Sheets("Labels")
Set myrng = ws.Range("A2:d" & Range("A" & ws.Rows.Count).End(xlUp).Row)
With myrng
Set lastCell = .Cells(.Cells.Count)
End With
myrng.Interior.ColorIndex = xlNone
clr = 3
For Each cell In myrng
If Application.WorksheetFunction.CountIf(myrng, cell) > 1 Then
' addresses will match for first instance of value in range
If myrng.Find(what:=cell, lookat:=xlWhole, MatchCase:=False, after:=lastCell).Address = cell.Address Then
' set the color for this value (will be used throughout the range)
cell.Interior.ColorIndex = clr
clr = clr + 1
Else
' if not the first instance, set color to match the first instance
cell.Interior.ColorIndex = myrng.Find(what:=cell, lookat:=xlWhole, MatchCase:=False, after:=lastCell).Interior.ColorIndex
End If
End If
Next
End Sub
, но как мне изменить код, чтобы выделенные ячейки c выделялись, а не 2D-диапазон?
Я пытался заменить строку Set myrng на ..
Set myrng = ws.Range(b2, b5)
, а также пытался ..
Set myrng = ws.Range("b2, b5")
.. но я получаю ошибку 1004.
Спасибо