我在以下代码上遇到运行时错误,并且不确定导致它的原因。该代码用于为单元格运行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
我确定这是次要的,但它让我疯了,我不能强迫程序继续而不管错误
答案 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))"