我在Sheet1“B”列中有值,该值将在Sheet2中从“A到K”列在Sheet2中,并复制Sheet2的相应C列值并将其粘贴到Sheet1的E列中。

我尝试使用下面的代码,但显示错误为

运行时错误“1004”:
无法获取worksheetfunction类的Vlookup属性。

Sub vlook_up()
  For i = 2 To 11
       Cells("D" & i).Value = WorksheetFunction.VLookup(Sheets("Sheet1").Range("B" & i), Sheets("Sheet2").Range("A1:K500"), 3, 0)
  Next i
End Sub

最佳答案

这对我有用,但是我觉得您正在向函数传递不合适的var类型。

Sub vlook_up()
  For i = 2 To 11
       Range("D" & i).Value = WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(Sheets("Sheet1").Range("B" & i), Sheets("Sheet2").Range("A1:K500"), 3, False), "error")
  Next i
End Sub

关于vba - VLOOKUP适用于不同的工作表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44980151/

10-10 23:15