当它尝试将公式插入单元格时,我得到了运行时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的新手,我想知道为什么这会产生问题,因为它永远不会用于以前的语言。
答案 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)。