Мне нужно сделать макрос, который бы помечал с помощью условного форматирования значения выпадающие из выборки.
Собственно для проверки мной написана пользовательская функция check_ok(диапазон;ячейка)
Для проверки "несоответствия" в формула условного форматирования для ячейки B1 у меня выглядит например:
"=B1<>check_ok(A1:D2;B1)"
Уточнение: Excel2003
теперь собственно макрос, который должен заполнять условные форматирования автоматически
Sub diap_nal1()
Dim cur_range As Range
Dim daf As Variant
With ActiveSheet
Set cur_range = Selection
cur_range.Activate
For Each cell In cur_range
If Not IsEmpty(cell) Then
daf = cur_range.Address(, , xlR1C1)
cell.FormatConditions.Add Type:=xlExpression, Formula1:="=RC<>check_ok(" + daf, + ";RC)"
cell.FormatConditions(1).Font.ColorIndex = 3
End If
Next cell
End With
End Sub
--
Собственно задача выполняется. Только вот одно но:
формула для условного форматирования возвращается в виде
=B1<>check_ok($A$1:$E$1;B1)
А мне нужно, что бы при "протяжке" в следующих строках и исследуемый диапазон и ячейка сдвигались. Т.е. не должно быть $
Как сделать ?
Собственно для проверки мной написана пользовательская функция check_ok(диапазон;ячейка)
Для проверки "несоответствия" в формула условного форматирования для ячейки B1 у меня выглядит например:
"=B1<>check_ok(A1:D2;B1)"
Уточнение: Excel2003
теперь собственно макрос, который должен заполнять условные форматирования автоматически
Sub diap_nal1()
Dim cur_range As Range
Dim daf As Variant
With ActiveSheet
Set cur_range = Selection
cur_range.Activate
For Each cell In cur_range
If Not IsEmpty(cell) Then
daf = cur_range.Address(, , xlR1C1)
cell.FormatConditions.Add Type:=xlExpression, Formula1:="=RC<>check_ok(" + daf, + ";RC)"
cell.FormatConditions(1).Font.ColorIndex = 3
End If
Next cell
End With
End Sub
--
Собственно задача выполняется. Только вот одно но:
формула для условного форматирования возвращается в виде
=B1<>check_ok($A$1:$E$1;B1)
А мне нужно, что бы при "протяжке" в следующих строках и исследуемый диапазон и ячейка сдвигались. Т.е. не должно быть $
Как сделать ?