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

当它尝试将公式插入到单元格中时,我得到了运行时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"这样的常规string,它可以工作,但是这样做却不行。 林新的VBA和即时通讯想知道为什么这会给一个问题,因为它永远不会用我习惯的语言。

使用VBA插入公式需要使用EN-US标准,

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

…或使用区域公式属性,

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

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

请参阅Range.FormulaLocal属性(Excel)以获取更多信息。