Excel中的国际宏

时间:2015-05-21 08:35:39

标签: excel excel-vba internationalization vba

我正在尝试创建国际Excel宏表。 这些宏应该适用于许多国家

我使用Range.formula用英语编写公式,但它并不适用于所有公式(?)

例如,我创建了

Range("D4").Formula = "=SUM(D7:D14)"

在西班牙语Excel中,它的工作原理是#34; =SUMA(D7:D14)"。是正确的

其他公式失败,例如:

"=IF(R2=8;D7;D6)"                  'In Spanish Excel I get error 1004

"=ISNUMBER(O2)" works =ESNUMERO(O2)

"=PRODUCT(O2;O3)" Does not work,  error 1004  

我使用Excel 2010和Windows 7,我无法理解这种奇怪的行为。参数对所有公式都有效

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

Range.Formula需要英文公式表示法。这不仅意味着英文函数名称,还使用逗号分隔参数而不是分号。

所以

...Formula = "=IF(R2=8,D7,D6)"

...Formula = "=PRODUCT(O2,O3)"

应该有用。