运行时错误1004与Vlookup

我想用VBA在Excel中创build下面的公式:

=IF(ISERROR(VLOOKUP($F4,'17402'!$B:$BD,'17402'!AS$50,0))=TRUE,"",(VLOOKUP($F4,'17402'!$B:$BD,'17402'!AS$50,0))) 

这是我的代码:

 Dim wsFormula As String wsFormula = "=IF(ISERROR(VLOOKUP($F4," & "" '"" var_SN & ""'!"" & "$B:$BD," & ""'"" & var_SN & ""'!"" & "AS$50,0))=TRUE,0,(VLOOKUP($F4," & ""'"" var_SN & ""'!"" & "$B:$BD," & ""'"" var_SN & ""'!"" & "AS$50,0)))" ActiveCell.Formula = wsFormula 

其中“var_SN”是“17402”。 我收到一个运行时错误1004,应用程序定义或对象定义错误错误,所以我不知道这个variables是否是问题。 我读了关于'和! 但是这并没有帮助。

我也想知道$ F2的查找值是否会成为一个问题,因为每次运行macros时行参考都会改变。 例如,如果我在第4行,我不希望这个代码编写一个将引用单元格F1作为查找值的公式。 非常感谢。

你有太多的“

每个你有17402地方都改成" & var_SN & "

""需要成为""""

 "=IF(ISERROR(VLOOKUP($F4,'" & var_SN & "'!$B:$BD,'" & var_SN & "'!AS$50,0))=TRUE,"""",(VLOOKUP($F4,'" & var_SN & "'!$B:$BD,'" & var_SN & "'!AS$50,0)))" 

但是你也不需要IFISERROR 。 你可以使用IFERROR

 "=IFERROR(VLOOKUP($F4,'" & var_SN & "'!$B:$BD,'" & var_SN & "'!AS$50,0),"""")" 

除非出现错误,否则IFERROR将执行第一个参数,然后执行第二个参数。