【发布时间】:2015-07-09 22:04:19
【问题描述】:
我有这段代码,我的问题是,它适用于英文版的 excel 吗?我的意思是本地公式将适用于英文版的 excel? (ORAZ 在我的语言中是 AND 的意思)。
当我输入 ORAZ 时,它只能在我的 PC 上工作,但在英文 PC 上却不行,当我输入 AND 时它没有给出错误但它不起作用,有什么想法可以帮助我吗?
With Range("$H$6:$FH$50").FormatConditions _
.Add(xlExpression, xlFormula, "=ORAZ(H$7<=$G$7,(H$7+7)>$G$7)")
With .Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.799981688894314
End With
End With
【问题讨论】:
-
测试 Excel 版本,然后根据需要执行代码。有点像测试 64 位。
-
在这种特殊情况下,将公式更改为
"=(H$7<=$G$7)*((H$7+7)>$G$7)"并完全避免语言问题。 -
您可能还想看看Range.FormulaLocal property 并用它来代替.Formula property。如果您使用
.Formula = ...,那么它将始终为AND,而不是ORAZ。 -
我明白了,但如果我使用并且应用程序无法正常工作
-
我在 10 多个不同的国家工作过,在 Excel 中使用了 10 多种不同的语言。英语总是在 VBA 中工作。我非常怀疑你关于
AND不起作用的说法。例如,如果您要求 VBA 在单元格公式中输入=SUM(A1:B2),它实际上会自动转换为您安装的语言的公式公式(在工作表上)。如果您想知道英文公式,那么只需询问Debug.Print Selection.Formula,它将始终向您显示英文公式。