У меня есть этот код:Excel Условное форматирование Петля
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=IF($B5=""ARC"",1,0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = ColorSheet.Range("ARC_Color").Interior.Color
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=IF($B5=""ALL"",1,0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = ColorSheet.Range("ALL_Color").Interior.Color
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Есть больше блоков, чем это и в основном все, что изменения являются именованные диапазоны, указанные внутри Условное форматирование условий.
=IF($B5=""ALL"",1,0)
ColorSheet.Range("ALL_Color").Interior.Color
что это лучший способ этого цикла? Так что у меня нет десяти блоков кода, которые точно так же?
Могу ли я изменить его, чтобы прочитать именованные диапазоны списка на отдельном листе?
Благодаря
Если я использую: .Color = ColorSheet.Range (ConditionToCheck & "_Color") Interior.Color я получаю сообщение "Ошибка 424 Требуется объект" Если я использую .Color = ColorSheet.Range (ConditionToCheck & "_Color".) .Interior.Color Я получаю «Ошибка 13 типа несоответствия». Что я делаю не так? – KillerSnail
Я разработал его. ColorSheet не был установлен в подпрограмме sub. – KillerSnail
ОК для того, чтобы «= IF ($ B5 =« & ConditionToCheck & », 1,0)« работать в подпрограмме, мне нужно использовать «= IF ($ B5 =» & Chr (34) & ConditionToCheck & Chr (34) & ", 1,0)" в противном случае формула выглядит неправильно. – KillerSnail