Excel VBA中的Range.Find方法返回错误行

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

我正在尝试使用VBA在excel中搜索字符串。。例如,
我的工作表包含以下数据

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