2017-09-25 131 views
1

嗨我想在VBA中使用VLookUp功能。 它配備了錯誤,「無法獲取WorksheetFunction類的VLOOKUP財產」 它正試圖從一個叫做2017年9月13日VBA VLookUp不起作用

Sub VLookUp() 

Dim i As Integer 

Dim k As Integer 

For i = 1 To 10 

ThisWorksheet.Cells(1 + i, 11) = WorksheetFunction.VLookUp(Cells(1 + i, 2), Worksheets("13.09.2017").Range("B2:K11"), 10, False) 

Next 

End Sub 

enter image description here 我希望片取數據,你可以幫我

+0

在VBA中沒有'ThisWorksheet' – FunThomas

回答

0

ThisWorksheet不是VBA對象庫的一部分。你可能需要ThisWorksbook

這是如何做到這一點,如果你想使用ActiveSheet(這不是adviseable,但它的工作原理):

Sub VLookUp() 

    Dim i As Integer 
    Dim k As Integer 

    With ThisWorkbook.ActiveSheet 
     For i = 1 To 10 
      .Cells(1 + i, 11) = WorksheetFunction.VLookUp(.Cells(1 + i, 2), _ 
       Worksheets("13.09.2017").Range("B2:K11"), 10, False) 
     Next 
    End with 

End Sub 
0

除了ThisWorksheet問題,你的代碼將打破第一vlookup在範圍內找不到值的實例。如果這是您將運行的唯一代碼,則添加On Error Resume Next語句以避免錯誤。

Sub VLookUp() 

    Dim i As Integer 
    Dim k As Integer 
    On Error Resume Next 
    With ActiveSheet 
    For i = 1 To 10 
     .Cells(1 + i, 11) = WorksheetFunction.VLookUp(.Cells(1 + i, 2), _ 
      Worksheets("13.09.2017").Range("B2:K11"), 10, False) 
    Next 
    End With 
End Sub