使用工作簿变量中的公式运行时错误

时间:2018-03-08 08:34:26

标签: excel vba excel-vba formulas

我在我的代码中使用来自另一个工作簿的Vlookup公式。另一个工作簿被命名为变量TifuliWB工作簿,但我不断收到错误运行时错误1004.我确信这是我的一个小错误,它阻止了sub但我不能知道什么。

With MainWB.Worksheets(2)
    LR = .Cells(Rows.Count, "A").End(xlUp).Row
    .Range("J2:J" & LR).FormulaR1C1 = _
        "=VLOOKUP(RC[-8]," '"[" & TifuliWB.Worksheets(1) & "]"'"!C1:C71,65,FALSE)"
     .Range("J2:J" & LR).NumberFormat = "m/d/yyyy"
     .Cells.Copy
End With

1 个答案:

答案 0 :(得分:1)

尝试引用列'完整的外部地址,而不是在工作簿和工作表名称中连接。

.Range("J2:J" & LR).FormulaR1C1 = _
    "=VLOOKUP(RC[-8]," & TifuliWB.Worksheets(1).range("A:BS").address(1, 1, external:=true, referencestyle:=xlr1c1) & ",65,FALSE)"
'alternately in xlA1 style
.Range("J2:J" & LR).Formula = _
    "=VLOOKUP(J2," & TifuliWB.Worksheets(1).range("A:BS").address(1, 1, external:=true) & ",65,FALSE)"

您的原始文件应该使用.Name或.FullName属性,并且存在一些字符串连接问题。

.Range("J2:J" & LR).FormulaR1C1 = _
    "=VLOOKUP(RC[-8], '[" & TifuliWB.fullname & "]" & TifuliWB.Worksheets(1).name & "'!C1:C71,65,FALSE)"