我在使用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"")"
答案 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"")"
不要'知道这是否算作答案,但它可能会帮助你。