我一直在看这段代码,似乎无法找到我做错的事情。它必须是那些明显的解决方案之一,但我很难过。
导致我麻烦的代码行是:
Range("M2:M5759).FormulaR1C1 = "=if(isna(vlookup(RC[-12], " & Path & "[Budget " & Month & ".xlsx]Budget_" & Month & "'!RC[-12]:R[LastR]C[-12], 1, false)), ""NO"", ""YES"")"
变量Path包含我正在查看的文件的位置。
该文件的名称为Budget 0615.xlsx,Tab名为Budget_0615,但日期必须可更改,因此将其分配给变量Month。
变量LastR包含文件中的行数。
我的代码试图返回值" NO"如果无法在文件Budget 0615.xlsx中找到A列中的值,则返回" YES"如果可以的话。
当我运行宏时,我得到运行时错误' 1004':应用程序定义或对象定义的错误。
有人可以帮忙吗?如果您需要更多信息或者我不清楚,请询问。
谢谢!
答案 0 :(得分:0)
你似乎错过了一个'在公式中的Path
之前,LastR
需要连接到公式字符串中作为绝对数字,而不是相对数字:
Range("M2:M5759).FormulaR1C1 = "=if(isna(vlookup(RC[-12],'" & Path & "[Budget " & Month & ".xlsx]Budget_" & Month & "'!RC[-12]:R" & LastR & "C[-12], 1, false)), ""NO"", ""YES"")"