【发布时间】:2017-04-08 15:07:37
【问题描述】:
我在单元格 L7、L12、L13、L14 上有值 使用下面的代码,我可以找到值并将其收集到范围。但是在 .find 循环函数搜索期间再次到达第一个结果并退出 .find 函数。 问题是我收到范围 L12、L13、L14、L7 通常 L7 必须在开头。
我该如何解决? 我可以阻止 .find 返回第一个单元格,还是可以使用 .find 对获得的范围进行排序?
Function FindAll1(rngLookIn As Range, LookFor) As Range
Dim rv As Range, c As Range, FirstAddress As String
With rngLookIn
Set c = .Find(LookFor, After:=Range("L2"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
FirstAddress = c.Address
Set rv = c
Do
Set c = .FindNext(c)
If Not c Is Nothing Then Set rv = Application.Union(rv, c)
Loop While Not c Is Nothing And c.Address <> FirstAddress
End If
End With
Set FindAll1 = rv
End Function
这是我的代码调用函数
Set searchitem = FindAll1(arama, aranan)
If Not searchitem Is Nothing Then
For Each g In searchitem.Cells
我的代码从这里开始,但它首先是 L12 而不是来自 searchitem 的 L7
【问题讨论】: