Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 与语言无关的公式_Vba_Excel_Excel Formula - Fatal编程技术网

Vba 与语言无关的公式

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() 及 ; 而不是,作为分隔符

我想准备一个包含一些公式的概述选项卡,虽然不是所有同事都使用en-us版本的Excel-我目前使用的是de at语言包。因此,我开始使用.FormulaLocal,但它在我的情况下不太起作用

在本例中,我尝试准备一个公式,该公式总结了来自各个选项卡的所有“灯光”错误。我有两个版本

版本1(可在Excel中使用de)

版本2(不适用于Excel中的de)

这两个词之间的区别只是用德语来表示

  • 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