|
本帖最后由 wfchenyiting 于 2019-1-19 19:06 编辑
各位老师,附件是5600行左右的数据,需要在表中查找并选定所有 包含 “昆山" 字符的单元格,我自己写了段代码,居然用时要13-14秒。真心受不了这个速度!请论坛大神们指导,有什么可以快速的方法得到同样的结果啊???谢谢!
- Sub 查找()
- Dim FindSt$, Rg1 As Range, Rg2 As Range, Arr
- Dim RgA$, RgCol As Range, x%, t
- FindSt = "昆山"
- Application.ScreenUpdating = False
- t = Timer
- Arr = [a1].CurrentRegion
- Set Rg1 = Range("a1").Resize(UBound(Arr), UBound(Arr, 2))
- Set Rg2 = Rg1.Find(FindSt, , , xlPart)
- If Rg2 Is Nothing Then Exit Sub
- RgA = Rg2.Address
- Set RgCol = Rg2
- Do
- x = x + 1
- Set Rg2 = Rg1.Find(FindSt, Rg2, , xlPart)
- Set RgCol = Union(RgCol, Rg2)
- Loop While Rg2.Address <> RgA
- RgCol.Select
- MsgBox "查询到包含字符:" & FindSt & " 共计:" & x & _
- "条记录!" & vbCrLf & "用时:" & Timer - t & " 秒!" & _
- vbCrLf & vbCrLf & "---Find 查询!"
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|