Vlookup与整数变量

时间:2018-01-04 13:09:01

标签: excel vba excel-vba excel-formula vlookup

我正在尝试在我的代码中执行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

2 个答案:

答案 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}}地址中的

空格是一个交叉点运算符。