我搞不懂这件事。
我们主要使用法语版的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(..“但它不是这样读的。我试着添加空格,去掉减号等等。什么都不起作用,它总是被翻译了一半。有什么想法吗?
发布于 2012-08-10 22:59:55
在VBA中,你需要像这样转义你的引号:
range("J2").Formula = "=round(IF(F2="""",0,F2),2)-round(IF(G2="""",0,G2),2)"这是因为"字符在VBA中用作字符串的开始/结束。所以,如果你想把它包含在一个字符串中,你需要在一行中输入两次。,,,。
https://stackoverflow.com/questions/11904194
复制相似问题