在大范围内搜索字符串,返回行号

时间:2015-07-13 18:25:09

标签: excel vba search excel-formula range

我正在尝试编写一个函数来搜索大约4,500列和100行的范围中的字符串,并返回匹配所在的行。此公式将被复制约6k单元格并需要不断更新因此,工作表就是一个功能。

我尝试使用Search.Find函数并返回行号,但速度太慢。这是我使用过的代码:

Function FindRow(Srch As String, SrchRng)

Dim rngSearch As Range, rngFound As Range

Set rngSearch = SrchRng
Set rngFound = rngSearch.Find(What:=Srch, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns)
If rngFound Is Nothing Then
FindRow = "#N/A"
Else
FindRow = rngFound.Row
End If

End Function

该问题的更多细节:

-String必须完全匹配,长度约为50个字符

-Range我在搜索时有很多空白单元格,但只有一个完全匹配。

0 个答案:

没有答案