Excel 100 VBA устанавливает условное форматирование, но результаты неверны
Мне нужно изменить большое количество условного форматирования, поэтому я пишу подпрограмму VBA. Следующий код устанавливает условный формат, но результаты неверны. Я имею в виду, что иду на лист и вижу, что условное форматирование правильное. Результаты неверны. Таким образом, формула.8*($L$9/10) = 7,92 и должна давать числа>= 8 не окрашенные в красный цвет, а все окрашенные в красный цвет.
Sub SetFirst2(ByVal TheRow As Byte, target As Range)
' if it is less than .8*total/10
target.FormatConditions.Add Type:=xlCellValue, _
Operator:=xlLess, Formula1:="="".8*($L$" & TheRow & "/10)"""
target.FormatConditions(1).Font.ColorIndex = 3 'Red
End Sub
И вот как я это называю:
Call SetFirst2(9, ShTheSheet.Range("B9:K9"))
Столбец L содержит эту формулу:
=SUM(B9:K9)
1 ответ
Решение
У вас слишком много двойных кавычек в определении формулы. Это должно работать (успешно протестировано в Excel 2010):
Formula1:="=.8*($L$" & TheRow & "/10)"