Vba 不同板材的VLOOKUP

Vba 不同板材的VLOOKUP,vba,excel,error-handling,Vba,Excel,Error Handling,我在Sheet1的“B”列中有值,该值在Sheet2的“A到K”列中为vlookup,复制Sheet2的相应C列值,并将其粘贴到Sheet1的E列中 我尝试了下面的代码,但它显示错误为 运行时错误“1004”: 无法获取worksheetfunction类的Vlookup属性 Sub vlook_up() For i = 2 To 11 Cells("D" & i).Value = WorksheetFunction.VLookup(Sheets("Sheet1").R

我在Sheet1的“B”列中有值,该值在Sheet2的“A到K”列中为vlookup,复制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

这对我来说是可行的,但是我觉得您传递的函数类型不合适

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
试试这个

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


谢谢你的帮助reply@LowparThanks为了你的response@Karthick
 Sub vlook_up()
      For i = 2 To 11
           Range("D" & i).Value = Application.VLookup(Sheets("Sheet1").Range("B" & i), Sheets("Sheet2").Range("A1:K500"), 3, False);
      Next i
    End Sub