Excel VBA中的Range.Find方法返回错误行
我正在尝试使用VBA在excel中搜索字符串。。例如,Excel VBA中的Range.Find方法返回错误行,excel,vba,Excel,Vba,我正在尝试使用VBA在excel中搜索字符串。。例如, 我的工作表包含以下数据 1.Lalit 2.Lalit 如果只有一行出现lalit,则给出正确的结果;如果有两行出现相同的字符串,则返回第二行作为结果,而不是第一行。请帮助我如何返回正确的行。根据您可以指定要在哪个单元格之后开始搜索。还可以指定搜索方向。假设您的范围为A1:A500,并且希望找到Latit的第一个实例,您可以使用: Range("A1:A500").Find("Test", Range("A500"), , , xlByR
我的工作表包含以下数据
1.Lalit
2.Lalit
如果只有一行出现lalit
,则给出正确的结果;如果有两行出现相同的字符串,则返回第二行作为结果,而不是第一行。请帮助我如何返回正确的行。根据您可以指定要在哪个单元格之后开始搜索。还可以指定搜索方向。假设您的范围为A1:A500
,并且希望找到Latit
的第一个实例,您可以使用:
Range("A1:A500").Find("Test", Range("A500"), , , xlByRows, xlNext).Row
这将在
A500
处开始搜索,搜索将自动换行到第一行。Excel返回它能找到的第一个结果,因此您将得到1
作为答案(假设Latit
位于A1
)基本上与JNevill相同,但确保
- 搜索在A列最后一个单元格之后开始(即从A1开始)
- 处理“不匹配”-应该始终使用
Sub FindEx()
Dim strFind As String
Dim rng1 As Range
strFind = "Lalit"
Set rng1 = Cells.Find(strFind, Cells(Rows.Count, "A"), xlValues, xlPart, , xlNext)
If Not rng1 Is Nothing Then MsgBox "first value of " & strFind & " found in " & rng1.Address(0, 0)
End Sub