Vba 与语言无关的公式
我想准备一个包含一些公式的概述选项卡,虽然不是所有同事都使用en-us版本的Excel-我目前使用的是de at语言包。因此,我开始使用.FormulaLocal,但它在我的情况下不太起作用 在本例中,我尝试准备一个公式,该公式总结了来自各个选项卡的所有“灯光”错误。我有两个版本 版本1(可在Excel中使用de) 版本2(不适用于Excel中的de) 这两个词之间的区别只是用德语来表示Vba 与语言无关的公式,vba,excel,excel-formula,Vba,Excel,Excel Formula,我想准备一个包含一些公式的概述选项卡,虽然不是所有同事都使用en-us版本的Excel-我目前使用的是de at语言包。因此,我开始使用.FormulaLocal,但它在我的情况下不太起作用 在本例中,我尝试准备一个公式,该公式总结了来自各个选项卡的所有“灯光”错误。我有两个版本 版本1(可在Excel中使用de) 版本2(不适用于Excel中的de) 这两个词之间的区别只是用德语来表示 SUM()->sume() COUNTIF()->ZÄHLENWENN() 及 ; 而不是,作为分隔符
- SUM()->sume()
- COUNTIF()->ZÄHLENWENN()
-克劳斯VBA非常以美国为中心。VBA的.Formula和.FormulaR1C1需要行函数。要使用区域语言函数“flavors”,如SUMME,则应使用Range.FormulaLocal属性或Range.FormulaR1C1Local属性
因此,不要使用
.FormulaLocal
只需将.Formula
与EN语言结合使用,您的代码将以每种语言进行解释。第二步,将FormulaLocal
更改为Formula
哇,这既快又简单-我印象深刻-谢谢!嘿,利奥,这就是诀窍-我将阅读这些的确切区别-万分感谢!
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
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