首页 > 解决方案 > 有没有办法在 Excel 中的 VBA 格式条件内编写与本地语言无关的公式?

问题描述

我正在用 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))"

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

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

任何帮助表示赞赏

标签: excelvbaregional-settings

解决方案


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

首先注意英文版本使用,而不是;作为分隔符,所以你的英文公式需要是=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 的正确本地化。


推荐阅读