Страницы: 1
RSS
Макрос подсветки совпадений текста в ячейках
 
Есть макрос который после выделения мышкой определенной области на листе для проверки и запуска макроса - заливает цветом ячейки в которых текст идентичный. Вот так:


Вот его код:
Код
Sub PodsvetkaDubleiURL()
    Dim Dupes()     'объявляем массив для хранения дубликатов
    ReDim Dupes(1 To Selection.Cells.Count, 1 To 2)
     
    Selection.Interior.ColorIndex = -4142   'убираем заливку если была
    i = 3
    For Each cell In Selection
        If WorksheetFunction.CountIf(Selection, cell.Value) > 1 Then
            For k = LBound(Dupes) To UBound(Dupes)
                'если ячейка уже есть в массиве дубликатов - заливаем
                If Dupes(k, 1) = cell Then cell.Interior.ColorIndex = Dupes(k, 2)
            Next k
            'если ячейка содержит дубликат, но еще не в массиве - добавляем ее в массив и заливаем
            If cell.Interior.ColorIndex = -4142 Then
                cell.Interior.ColorIndex = i
                Dupes(i, 1) = cell.Value
                Dupes(i, 2) = i
                i = i + 1
            End If
        End If
    Next cell
End Sub

На данных которые я сравнивал ранее - макрос работал. А сейчас столкнулся с проблемой что макрос после начала работы выдает вот такую вот ошибку:


Подскажите, пожалуйста, что нужно поправить в коде макроса чтобы он корректно работал? Заранее благодарен за помощь
 
WorksheetFunction.CountIf (Счётесли) - не будет работать если в ячейке больше 256 символов

см вложение
 
Ham13, спасибо за ответ. Запустил ваш макрос с моими данными. В этот раз получил ошибку: "Run time error "9" Subscript out of range"


Половнину ячеек закрасил и выдал ошибку... На вот этой строке проблему показывает


И еще вопрос. Можно ли сделать чтобы макрос закрашивал бы цветом только ячейки с текстом где есть совпадение? А то сейчас он и все пустые ячейки, без текста красит...

Прикрепил файл с данными на которых запускаю макрос и получаю ошибку. Спасибо
Изменено: realmen80 - 30.11.2023 16:00:01 (загрузил снова фото)
 
Есть такой вариант. Кликаете по ячейке - подсвечиваются совпадающие
 
Цитата
написал:
Есть такой вариант. Кликаете по ячейке - подсвечиваются совпадающие
Спасибо за предложение. К сожалению, для моих целей такой вариант не очень подходит...
 
Удалось доработать скрипт чтобы он работал как мне нужно. Если кому-то будет нужен, прикрепил к сообщению.

Ham13, еще раз спасибо что подсказали в чем проблема...  
Изменено: realmen80 - 30.11.2023 17:32:26
Страницы: 1
Наверх