我想准备一个包含一些公式的概述选项卡,但并非所有同事都使用en-us版本的Excel - 我目前使用的是de-at语言包。因此我开始使用.FormulaLocal,但它在我的情况下不太适用
在这个例子中,我尝试准备一个公式,该公式总结了各种标签中的所有“轻”错误。我有两个版本
版本1 (适用于de-at Excel)
Sub count_light_errors(tabName)
Dim element As Variant
Dim formula As String
Dim temp As Variant
For Each element In tabName
temp = temp & "zählenwenn(" & element & "!E:E;""light"");"
Next element
formula = "=summe(" & Left(temp, Len(temp) - 1) & ")"
Worksheets("Overview").Range("C8").FormulaLocal = formula
End Sub
版本2 (不适用于退出Excel)
Sub count_light_errors(tabName)
Dim element As Variant
Dim formula As String
Dim temp As Variant
For Each element In tabName
temp = temp & "countif(" & element & "!E:E,""light""),"
Next element
formula = "=sum(" & Left(temp, Len(temp) - 1) & ")"
Worksheets("Overview").Range("C8").FormulaLocal = formula
End Sub
这两者之间的区别仅在于使用德语单词
和 ;而不是作为分隔符
如何正确准备公式,以便它们独立于用户语言包?
万分感谢! -Claus
答案 0 :(得分:3)
VBA非常以EN-US为中心。 VBA&.F; 39.Formula和.FormulaR1C1期望ROW功能。使用区域语言功能' flavors'和SUMME一样,应该使用Range.FormulaLocal属性或Range.FormulaR1C1Local属性。
因此,不要使用.FormulaLocal
而只使用带有EN语言的.Formula
,您的代码将以各种语言进行解释。