我正在尝试在我的代码中执行Vlookup,并且我有几个整数变量。它给了我错误:
运行时错误1004
代码在vlookup行中停止。所有变量都有值。如果有人能看到问题所在,请告诉我。
'Employees
empWS.Range("D1:G" & empLR).Copy
With tmpWB.Worksheets(2)
.Cells(1, 1).PasteSpecial xlPasteValues
.Range("$A$1:$D$" & empLR).AutoFilter Field:=1, Criteria1:=1
.Range("A2:D" & empLR).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.ShowAllData
empLR = .Cells(Rows.Count, "A").End(xlUp).Row
.Columns(1).Delete
.Range("D1").Value = "start date"
.Range("D2:D" & empLR).FormulaR1C1 = "=VLOOKUP(RC[-3],SAP!R1C1:R " & SLRow & " C70, StartColumn,0)" 'it stops here
.Columns("A:D").AutoFit
End With
答案 0 :(得分:3)
"=VLOOKUP(RC[-3],SAP!R1C1:R " & SLRow & " C70," & StartColumn & ",0)"
您需要将startcolumn置于语音标记之外
修改
“= VLOOKUP(RC [-3],SAP!R1C1:R”& SLRow&“C70”,& StartColumn&“,0)”
(Patrick Honorez发现R在第一位之后有一个额外的空间)
答案 1 :(得分:1)
尝试删除多余的空格:
.Range("D2:D" & empLR).FormulaR1C1 = "=VLOOKUP(RC[-3],SAP!R1C1:R" & SLRow & "C70, StartColumn,0)"
<{1}}地址中的空格是一个交叉点运算符。