我有一个带有宏的 Excel 电子表格,可以插入条件格式,如下所示:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=UND($A3=""" & lastName & """; $B3=""" & firstName & """)"
正如您所看到的,我使用了德语公式“AND”(即“UND”),显然,当我在法语或英语版本的 Excel 上使用此代码时,它就不起作用。
通常公式会自动本地化,但如何在运行时插入适用于所有版本的公式?
好的,谢谢你帮我解决这个问题,你帮我解决了这个问题。
光用英语确实是不行的。在操作公式时可以使用英语,例如。通过设置编码Range("A1").formula="AND(TRUE)"
,但这不适用于FormatConditions
.
我的解决方案是一个将公式临时写入单元格的函数,通过FormulaLocal
属性,并返回本地化公式,如下所示:
Function GetLocalizedFormula(formula As String)
' returns the English formula from the parameter in the local format
Dim temporary As String
temporary = Range("A1").formula
Range("A1").formula = formula
Dim result As String
result = Range("A1").FormulaLocal
Range("A1").formula = temporary
GetLocalizedFormula = result
End Function
返回的公式可用于FormatConditions
,当稍后在不同语言版本的 Excel 上打开文档时,该文件将被重新本地化或取消本地化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)