Vlookup在VBA中没有范围

Vlookup在VBA中没有范围,vba,excel,vlookup,Vba,Excel,Vlookup,在最后一排寻找Vlookup。有没有一种方法可以不给出一个范围?可以一直到最后一排吗 Do While IsEmpty(Cells(i, Name)) = False Str = Cells(i, Name) ws2.Select On Error Resume Next Corp = Application.WorksheetFunction.VLookup(Str, ws2.Range("G2:S3000"), 4,

在最后一排寻找Vlookup。有没有一种方法可以不给出一个范围?可以一直到最后一排吗

    Do While IsEmpty(Cells(i, Name)) = False
        Str = Cells(i, Name)

        ws2.Select

        On Error Resume Next
        Corp = Application.WorksheetFunction.VLookup(Str, ws2.Range("G2:S3000"), 4, False)
        result = Application.WorksheetFunction.VLookup(Str, ws2.Range("G2:S3000"), 13, False)
        'Band = Application.WorksheetFunction.VLookup(Str, ws2.Range("G2:S2500"), 7, False)

        If (Err <> 0) Then
        Else
            ws1.Select
            If (result <> 0) Then
                Cells(i, 10) = result
            End If
            Cells(i, 9) = Corp
        End If

        i = i + 1
        ws1.Select
    Loop
End Sub
Do While IsEmpty(单元格(i,名称))=False
Str=单元格(i,名称)
ws2.选择
出错时继续下一步
Corp=Application.WorksheetFunction.VLookup(Str,ws2.Range(“G2:S3000”),4,False)
结果=Application.WorksheetFunction.VLookup(Str,ws2.Range(“G2:S3000”),13,False)
'Band=Application.WorksheetFunction.VLookup(Str,ws2.Range(“G2:S2500”),7,False)
如果(错误为0),则
其他的
ws1.选择
如果(结果0),则
单元格(i,10)=结果
如果结束
细胞(i,9)=公司
如果结束
i=i+1
ws1.选择
环
端接头

如果有一个单元格位于要使用的范围内(如示例中的G2),则可以使用range(“G2”).CurrentRegion。这将为您提供单元格所属的完整范围。 这对我很有用:

Public Sub GetLookupValue()  
  Dim rng As Range
  Dim str As String
  str = "c"
  Set rng = Blad1.Range("G2").CurrentRegion
  Debug.Print Application.WorksheetFunction.VLookup(str, rng, 2, False)
  Set rng = Nothing
End Sub

错误恢复时,下一个Corp=Application.WorksheetFunction.VLookup(Str,ws2.Range(“G2”),4,False)结果=Application.WorksheetFunction.VLookup(Str,ws2.Range(“G2”),13,False)希望得到答案。在这段代码中有并没有一种方法可以一直看到行的末尾