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

时间:2015-02-17 08:16:25

标签: 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)"

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

1 个答案:

答案 0 :(得分:8)

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

Range("B64").Formula = "=INDEX(AK7:AK123, G74, 1)"

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

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

您可能还必须将 INDEX 更改为区域对等值。当您的系统区域设置不使用逗号的EN-US标准列表分隔符时,后者是必需的。

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