VolDun

VolDun

Пикабушник
2190 рейтинг 5 подписчиков 1 подписка 43 поста 6 в горячем
Награды:
5 лет на Пикабу
19

Символистичненько однако

Иду из магазина и наблюдаю сцену, как бабка неблагополучного вида в розовом свитере с надписью "Блогер", с крайне недовольным лицом, ругаясь на все и всех, роется в мусорном бачке в поисках "чего-то интересного".
"Как символично" подумал я в тот момент

Вопрос по VBA

Есть макрос для выделения дубликатов в выделеном диапазоне, что нужно изменить, что бы этот макрос работал onChage в определенном диапазоне через Private Sub Worksheet_Change(ByVal Target As Range)


Sub ВыделитьДубликаты()


Range("Физ.свойства[0]").Select


On Error Resume Next

' массив цветов, используемых для заливки ячеек-дубликатов

Colors = Array(12900829, 15849925, 14408946, 14610923, 15986394, 14281213, 14277081, _

9944516, 14994616, 12040422, 12379352, 15921906, 14336204, 15261367, 14281213)


Dim coll As New Collection, dupes As New Collection, _

cols As New Collection, ra As Range, cell As Range, n&

Err.Clear: Set ra = Intersect(Selection, ActiveSheet.UsedRange)

If Err Then Exit Sub


ra.Interior.ColorIndex = xlColorIndexNone: Application.ScreenUpdating = False

For Each cell In ra.Cells ' запонимаем значение дубликатов в коллекции dupes

Err.Clear: If Len(Trim(cell)) Then coll.Add CStr(cell.Value), CStr(cell.Value)

If Err Then dupes.Add CStr(cell.Value), CStr(cell.Value)

Next cell

For i& = 1 To dupes.Count ' заполняем коллекцию cols цветами для разных дубликатов

n = n Mod (UBound(Colors) + 1): cols.Add Colors(n), dupes(i): n = n + 1

Next

For Each cell In ra.Cells ' окрашиваем ячейки, если для её значения назначен цвет

cell.EntireRow.Interior.Color = cols(CStr(cell.Value))

Next cell

Application.ScreenUpdating = True

End Sub

Показать полностью
Отличная работа, все прочитано!