我有一个类似于以下内容的数据集:
a?
表中的A列和B列是我的输入数据,C列是使用以下公式创建的:
A B C
1 10 145
1.1 11 0
1.2 12 0
1.3 13 0
2 14 145
2.1 15 0
2.2 16 0
3 17 145
3.1 18 0
3.2 19 0
这是一个简化的示例,而不是我正在使用的实际公式,但是作为最小的可重复示例就足够了。
当我在编辑栏中手动输入此公式时,它会完全按预期工作,并在上表中产生值。但是,当我尝试使用VBA将此公式输入到单元格中时,它将失败。它给了我一个错误:
错误:名称无效
如果我随后单击该单元格并进入编辑栏,就好像我要手动操作公式,然后立即按Enter键,而无需实际更改公式中的任何内容,错误就会消失,结果将像以前一样再次正确显示
我用于通过VBA将公式输入到单元格中的代码如下:
=IF(MOD([@A],1)=0,SUM([B]),0)
为什么通过VBA应用时显然正确的公式被破坏了,我该如何纠正它以使通过VBA的应用程序起作用?
我在Windows 10 x64上使用Excel 2019。
答案 0 :(得分:0)
我想出了解决问题的方法:
我正在使用非英语版本的Excel。当我尝试在VBA中使用本地化的函数名称时,出现了问题中所述的错误。不过,当我使用相应的英文名称时,一切都会按预期进行。
这是违反直觉的,因为当我通过VBA应用条件格式时,我必须使用本地化的函数名。在那儿用英语不会起作用。