我正在尝试使用VBA在excel中搜索字符串..例如 我的工作表包含以下数据
$ update-alternatives --display libblas.so
libblas.so - auto mode
link currently points to /usr/lib/openblas-base/libblas.so
/usr/lib/libblas/libblas.so - priority 10
slave libblas.a: /usr/lib/libblas/libblas.a
/usr/lib/openblas-base/libblas.so - priority 40
slave libblas.a: /usr/lib/openblas-base/libblas.a
Current 'best' version is '/usr/lib/openblas-base/libblas.so'.
如果只有一行出现1.Lalit
2.Lalit
它会给出正确的结果,而如果有2行具有相同的字符串,则返回第二行而不是第一行。请帮助我如何返回正确的行。
答案 0 :(得分:0)
根据MSDN article about Range.Find(),您可以指定要在其后开始搜索的单元格。您还可以指定搜索方向。假设您的范围为A1:A500
,并且您希望找到Latit
的第一个实例,则可以使用:
Range("A1:A500").Find("Test", Range("A500"), , , xlByRows, xlNext).Row
开始在A500
处搜索,该搜索将自动换行到第一行。 Excel会返回它可以找到的第一个结果,因此您将获得1
作为答案(假设Latit
位于A1
)
答案 1 :(得分:0)
与JNevill基本相同,但确保
Find
码
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