有没有办法在VBA中的excel中的格式条件内编写本地语言-独立公式?

Is there a way to write a local language - independent formula within a format condition in VBA in excel?

我正在用 VBA 编写一个 excel 宏,其中包含一个简单的公式:

Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(AND($L1>360;$K1<45))"

但是,这仅在 excel 中的语言设置为英语时有效。如果申请人的语言是德语,则看起来像这样:

Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=NICHT(UND($L1>360;$K1<45))"

有没有办法使用适用于所有申请人的通用方法?

关于解决方案的一些要求:

感谢任何帮助

实际上这是不可能的,但有一个解决方法。

首先注意英文版使用,而不是;作为分隔符,所以你的英文公式需要是=NOT(AND($L1>360,$K1<45)).

解决方法是将该公式写入任何未使用的单元格。

Range("unused_cell").Formula = "=NOT(AND($L1>360,$K1<45))"

然后读那个

的汉化
Dim FormulaLocal As String
FormulaLocal = Range("unused_cell").FormulaLocal

并将其用作条件

Selection.FormatConditions.Add Type:=xlExpression, Formula1:=FormulaLocal

这会将条件转换为 Excel 的正确本地化。

条件格式的公式是区域特定的,没有选项 - 无论是在 VBA 还是在 GUI 中 - 都没有处理这个问题,除非你省略所有语言特定的关键字(或做一个“翻译”,如建议以前的答案)

这会起作用:

=($K1<45)*($L1>360)=0