На днях тоже столкнулся с граблями условного форматирования в 2003
казалось простая строка вставки уф а такая проблема :)
задача была применить условное форматирование к динамическому диапазону изменяя формулу в зависимости от тех или иных условий.
код был соответсвенно:
CondiFormL="=ЕСЛИ(K7>0;(I7*100)<>G7;ЛОЖЬ)"
With .Range("f7:f"& lr)
If .FormatConditions.Count > 0 Then .FormatConditions.Delete
With .FormatConditions.Add(xlExpression, , CondiFormL)
.Interior.Color = 255
End With
End With
в 2010 отработало все как положено, а в 2003 началось :)
формула в УФ зависела от активной ячейки и производила смещение адреса относительно активной ячейки, во как :)
Заменил стиль ссылок вроде заработало, однако при увеличении диапазона в сторону увеличения данный код отказывался работать и выдавал ошибку :(, типа нельзя применить формулу к УФ и старое УФ не удалялось.
Пришлось сделать так где можно диапазон с запасом, а там где нельзя
пришлось на событие красить самому ячейки......
CondiFormL="=ЕСЛИ(RC[5]>0;(RC[3]*100)<>RC[1];ЛОЖЬ)" или другая формула.
With .Range("f7:f1000")
If .FormatConditions.Count > 0 Then .FormatConditions.Delete
With .FormatConditions.Add(xlExpression, ,CondiFormL )
.Interior.Color = 255
End With
End With
Вот такие грабли были у меня с УФ.
Спасибо |
---|
Mail: В профиле Skype: В профиле |