Добрый день подскажите как в коде макроса прописать поиск повторяющихся значений, если найдено повторение то всю строку выделить красным цветом. В файле примере как должно выглядеть, заранее спасибо )))
ну как как, перебрать значения, наполняя массив или коллекцию, и проверяя на наличие в них . Если имеется, значит дубликат, помечаем и строку с первым, и текущую.
Возможно, Игорь и перепутал файлы. Но это и не мудрено: посмотрите, сколько у него уже файлов с таким названием. А всё потому, что тем, кто задаёт вопросы, лень придумать оригинальное название для своего файла. Вот и копятся у помогающих файлы с именами "Книга", "Лист"... Только индексы меняются.
Sub Выделить_дубли()
Dim i&, txt$, dic As Object
Set dic = CreateObject("scripting.dictionary")
Columns.Interior.Color = xlNone
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
txt = Cells(i, 2)
If Not dic.exists(txt) Then dic.Item(txt) = txt Else Rows(i).Interior.Color = vbRed
Next i
End Sub
"Все гениальное просто, а все простое гениально!!!"
Nordheim,Работает) Отлично спасибо) Только не понимаю как это работает благодаря объекту "scripting.dictionary"
Еще один нюанс можно уточнить? можно чтобы он не выделял ячейки в которых пусто? в файле пример этого не происходит, а вот в рабочем он захватывает пустые
Inexsu,Спасибо большое) Данный макрос правда имеет еще один недостаток, если ячейки были форматированы в какой либо цвет он все заливки делает белыми, можно как то этого избежать? чтобы он работал как условное форматирование