*могли бы и не строить вавилонскую башню - сейчас бы проблем не огребали*
Ладно, к делу. Навешиваю УФ кодом:
MaxOt = 0.01
With Range("A1").FormatConditions
.Delete
.Add Type:=xlExpression, Formula1:="=ИЛИ(RC>" & MaxOt & ";RC<" & -MaxOt & ")"
.Item(1).Interior.ColorIndex = 36
End With
И замечаю ошибку на строке .Add при разных .DecimalSeparator, то есть при одном есть, при другом нет ошибки.
Ошибка в Formula1:="=ИЛИ(RC>" & MaxOt & ";RC<" & -MaxOt & ")"
MaxOt переводится в текст, а потом этот текст должен обратно стать числом.
Решение очевидно - переводить в текст и менять точку на запятую или наоборот.
Вопрос в том, как это сделать покороче, попроще и т.п. (конкурс объявлять не будем :-D).
Естественно автоматически определять что на что менять.
И мне совершенно непонятно почему в то же самое время Range("B1").FormulaR1C1 = "=RC[-1]+" & MaxOt совершенно индифферентно относится к .DecimalSeparator
Ладно, к делу. Навешиваю УФ кодом:
MaxOt = 0.01
With Range("A1").FormatConditions
.Delete
.Add Type:=xlExpression, Formula1:="=ИЛИ(RC>" & MaxOt & ";RC<" & -MaxOt & ")"
.Item(1).Interior.ColorIndex = 36
End With
И замечаю ошибку на строке .Add при разных .DecimalSeparator, то есть при одном есть, при другом нет ошибки.
Ошибка в Formula1:="=ИЛИ(RC>" & MaxOt & ";RC<" & -MaxOt & ")"
MaxOt переводится в текст, а потом этот текст должен обратно стать числом.
Решение очевидно - переводить в текст и менять точку на запятую или наоборот.
Вопрос в том, как это сделать покороче, попроще и т.п. (конкурс объявлять не будем :-D).
Естественно автоматически определять что на что менять.
И мне совершенно непонятно почему в то же самое время Range("B1").FormulaR1C1 = "=RC[-1]+" & MaxOt совершенно индифферентно относится к .DecimalSeparator
Bite my shiny metal ass!