Vlookup的运行时错误1004

时间:2015-07-01 13:08:48

标签: excel vlookup

我在以下代码上遇到运行时错误,并且不确定导致它的原因。该代码用于为单元格运行vlookup,但如果查找不存在,则返回空白而不是“0”。

ActiveCell.FormulaR1C1 = "=IF(LEN(VLOOKUP(RC[-3], Schedule!C[-3]:C[-2], 2,FALSE))=0,"",VLOOKUP(RC[-3], Schedule!C[-3]:C[-2], 2,FALSE))"
Range("G2").Select
Selection.AutoFill Destination:=Range("G2:G600"), Type:=xlFillDefault
Range("G2:G600").Select

我确定这是次要的,但它让我疯了,我不能强迫程序继续而不管错误

1 个答案:

答案 0 :(得分:0)

您的双引号在语法上适用于VBA,但对于生成的公式则为false。 VBA字符串"=IF(...,"",...)"导致=IF(...,",...),这不是Excel公式的正确语法。

正确应该是:

ActiveCell.FormulaR1C1 = "=IF(LEN(VLOOKUP(RC[-3], Schedule!C[-3]:C[-2], 2,FALSE))=0,"""",VLOOKUP(RC[-3], Schedule!C[-3]:C[-2], 2,FALSE))"