使用Excel VBA插入Vlookup公式

时间:2015-02-20 16:31:46

标签: excel-vba vlookup vba excel

我在使用VBA在列中插入vlookup公式时遇到问题。我得到了一个"运行时错误' 1004':应用程序定义或对象定义的错误"。我怀疑这可能是"双引号"事情。我已经对此做了一些研究,但是当需要双引号时,以及当它们不需要时,仍然无法解决问题。另外,我使用了动态日期变量(TodaysDate),这是一个由= Format(Date," mm-dd-yyyy")确定的字符串。以下代码行不起作用:

Range("Y2:Y" & RowCount).Formula = "=IF(ISNA(VLOOKUP(X2,""'[PHO """ & TodaysDate & """.xlsx]Detail'!$C:$D""),1,FALSE)),""Yes"",""No"")"

1 个答案:

答案 0 :(得分:0)

过去一周我曾经做过同样的事情,我发现将文件名(以及我的情况下的位置)分配给变量更容易,并将其放入vlookup而不是全部放入其中。例如,我做了以下事情并克服了这个障碍。

filename1 = "C:\Users\me\Documents\Custom Office Templates\DataValidation.xlsx" & "Sheet1'!$A:$C"

ActiveWorkbook.Worksheets("PipelineData").Range("I2:I" & lrow) = "=VLOOKUP(trim(A2),'" & filename1 & " ,2,FALSE)"

所以你可能

 filename = "Pho" & TodaysDate & ".xlsx" & "Detail'!$C$D"
 Range("Y2:Y" & RowCount).Formula = "=IF(ISNA(VLOOKUP(X2,'" & filename & "),1,FALSE)),""Yes"",""No"")"

不要'知道这是否算作答案,但它可能会帮助你。