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

试图将公式插入到VBA中的单元格时出现运行时错误1004。

在我的Excel表格中,我在A列中有一个date,在B列中每3列有一列股票行情,所以B,E,H等

在单元格C2中,我试图将B2中的值除以第2行中“FTSE”列标题下的值。 把这个公式直接运用到单元格中:

=IFERROR(B2/(VLOOKUP($A2,$A$2:$GMQ$261,MATCH("FTSE",$B$1:$GMQ$1,0)+1,FALSE)),"") 

我正在尝试使用vba来做到这一点。 这是我有的代码:

 Sub InsertFormula() Range("C2").Select ActiveCell.Formula = _ "=IFERROR(B2/(VLOOKUP($A2,$A$2:$GMQ$261,MATCH(""FTSE"",$B$1:$GMQ$1,0)+1,FALSE)),"")" End Sub 

您可以用TEXT(,)作为TEXT(,) 函数减less由双引号¹产生的混淆。 这返回一个零长度的string就像""一样,并且没有引号像""""一样加倍。

 Range("C2").Formula = _ "=IFERROR(B2/(VLOOKUP($A2, $A$2:$GMQ$261, MATCH(""FTSE"", $B$1:$GMQ$1 ,0)+1, FALSE)), TEXT(,))" 'without the offset and subsequent adjustment with full column references Range("C2").Formula = _ "=IFERROR(B2/VLOOKUP($A2, $A:$GMQ, MATCH(""FTSE"", $1:$1 ,0), FALSE), TEXT(,))" 

¹ 请参阅如何在Excel公式中创build包含双引号的string? 更多的例子。