VBA VLookUp无法正常工作

时间:2017-09-25 13:38:17

标签: excel vba excel-vba vlookup

您好我正在尝试在VBA中使用VLookUp功能。 它带有错误,"无法获取worksheetFunction类的#VyookUp属性" 它试图从名为13.09.2017

的工作表中获取数据
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 我希望你能帮助我

2 个答案:

答案 0 :(得分:0)

ThisWorksheet不是VBA对象库的一部分。您可能需要ThisWorksbook

这是怎么做的,如果你想使用ActiveSheet(这不建议,但它有效):

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

答案 1 :(得分: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