插入或将值公式插入单元格时,Excel VBA运行时错误1004

kpp*_*kpp 3 excel vba excel-vba

当它尝试将公式插入单元格时,我得到了运行时1004错误

Range("B64").Value = "=INDEX(AK7:AK123;G74;1)"

//I also tried
Range("B64").Formula = "=INDEX(AK7:AK123;G74;1)"
//And
Range("B64").FormulaR1C1 = "=INDEX(AK7:AK123;G74;1)"
Run Code Online (Sandbox Code Playgroud)

但是这给出了错误.如果我尝试插入一个数字或常规字符串,就像"test"它确实有效,但就像这样,它不会.我是VBA的新手,我想知道为什么这会产生问题,因为它永远不会用于以前的语言.

小智 8

使用VBA插入公式要求您使用EN-US标准,例如

Range("B64").Formula = "=INDEX(AK7:AK123, G74, 1)"
Run Code Online (Sandbox Code Playgroud)

...或使用区域公式属性,如,

Range("B64").FormulaLocal = "=INDEX(AK7:AK123; G74; 1)"
Run Code Online (Sandbox Code Playgroud)

您可能还必须将INDEX更改为区域等效项.如果系统的区域设置不使用逗号的EN-US标准作为列表分隔符,则后者是必需的.

有关详细信息,请参阅Range.FormulaLocal属性(Excel).