范围(…).Formula不完全翻译

我无法弄清楚这一点。

我们主要使用法语版Excel(因为我们住在加拿大法语省)。 在VBA代码中,我直接设置了单元格的公式。 通常情况下,我们必须用英文编写公式,Excel进行翻译(据我所知,在VBA中用英文以外的其他语言编写公式会导致错误)。 然而,只有这个方程式的一半被翻译,我认为是造成我的问题(写在另一个单元格中的正确公式产生不同的结果,最有可能是正确的结果)。

range("J2").Formula = "=round(IF(F2="",0,F2),2)-round(IF(G2="",0,G2),2)" 

在单元格中被翻译成这个:

 =ARRONDI(SI(F2=",0,F2),2)-round(IF(G2=",0,G2),2) 

正如你所看到的,正确的部分应该是“ARRONDI(SI(..”),但它不是这样读取的,我尝试了添加空格,完全删除减号等,没有任何工作,总是翻译一半。 ?

在VBA你neexd逃避你的报价是这样的:

 range("J2").Formula = "=round(IF(F2="""",0,F2),2)-round(IF(G2="""",0,G2),2)" 

这是因为"字符在VBA中用作string的开始/结束,所以如果你不想把它包含一个string中,你需要连续input两次。