Добрый день. Подскажите пожалуйста Имеется таблица к примеру А В 1 Год № документа 2 2018 и123 3 2019 и123 4 2019 и123
Нужно подсветить повторы № документов за 2019 год, т.е. чтобы подсвечивалась только ячейка В4 (ну и В3 наверное), а В2 не подсвечивалась, т.е. как знак того, что в 2019 году какому-то документу ошибочно присвоили повторный номер. Вариант отфильтровать по 2019 году и по условному форматированию подсветить повторяющийся значения не подходит. Спасибо заранее, если кто-то что-то подскажет
Изменено: hlm - 19.01.2020 17:46:57(ошибка в тексте)
Нет это немного не то. Мне нужно, чтобы при вводе номера документа в ячейку, если такой номер уже есть в столбце, то ячейка бы окрасилась цветом. Конечно я пробовала это сделать через Условное формативание, но дело в том, что списке идут документы и за 2018 год, а он окрашивает и их, а мне так не надо.
Sub ПодсветитьПовторы()
With ActiveSheet
.Columns(2).Font.ColorIndex = xlAutomatic
Dim a As Variant
a = .Range(.Cells(1, 1), .Cells(.Rows.Count, 2).End(xlUp))
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
Dim y As Long
Dim s As String
For y = 2 To UBound(a, 1)
s = a(y, 1) & vbTab & a(y, 2)
If dic.Exists(s) Then
.Cells(y, 2).Font.Color = RGB(255, 0, 0)
Else
dic.Item(s) = y
End If
Next
End With
End Sub
так я же вам ссылку давал. вы хотя бы пример-скриншот закинули бы в тему - я бы вам в Photoshope сделал бы. а так вы пример прям на странице темы выдали, вот и решил я прям на странице темы. без обид конешно. а вы в правилах были? пункт 2.3 видели?
Sub ПодсветитьПовторы2()
With ActiveSheet
.Columns(2).Font.ColorIndex = xlAutomatic
Dim a As Variant
a = .Range(.Cells(1, 1), .Cells(.Rows.Count, 5).End(xlUp))
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
Dim y As Long
Dim s As String
For y = 2 To UBound(a, 1)
s = Year(a(y, 1)) & vbTab & a(y, 5)
If dic.Exists(s) Then
.Cells(y, 5).Font.Color = RGB(255, 0, 0)
Else
dic.Item(s) = y
End If
Next
End With
End Sub