如何搜索数据并返回行号?

时间:2017-05-02 06:08:42

标签: excel vba excel-vba

我试图通过一张数据搜索x。我想过使用Match功能但匹配功能只能查找一列。 x可以是该表中的任何位置,那么是否可以返回可以搜索所有数据的行号的任何函数或任何东西?

我在excel中添加了代码,现在出现了超出范围的下标错误。我不确定我的查找功能是否正确

Dim r As range 
With Sheets("Sheet2").Range("A:DZU")
    Set r = .Find(What:="U1")
End With

2 个答案:

答案 0 :(得分:1)

使用Find功能尝试下面的代码,在列“A:DZU”中查找"U1"

Option Explicit

Sub FindX()

Dim FndRng As Range

With Sheets("Sheet2").Range("A:DZU")
    Set FndRng = .Find(What:="U1", LookIn:=xlValues, LookAt:=xlWhole)        
    If Not FndRng Is Nothing Then ' <-- Find was successful
        MsgBox "Found `U1` at row " & FndRng.Row
    Else
        MsgBox "Unable to find `U1`"
    End If
End With

End Sub

答案 1 :(得分:0)

这可能会有所帮助

Sub GetRowNum()
    Dim myValue As String
    myValue = "x"

    Dim wb As Workbook
    Dim ws As Worksheet
    Set wb = ActiveWorkbook
    Set ws = ActiveSheet

    Debug.Print ws.Range("A:Z").Find(myValue).Row

End Sub

修改:为可视化添加了print