ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wfchenyiting

[已解决] 实在受不了这个速度了!查找并选中指定字符单元格!

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-20 12:32 | 显示全部楼层
chenjx80 发表于 2019-1-19 23:57
查询并选择 13000+ 条记录基本可以控制在 1 秒以内。

谢谢老师的关注,您没有附件或者代码啊?能共享下您的代码,感谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-20 12:34 | 显示全部楼层
zpy2 发表于 2019-1-20 08:08
路过凑热闹,筛选的话结果少很快的几乎是2秒。
http://5809c7f4.nat123.cc:15216/bsbm/pdo/eh2/a16/a1610/ ...

感谢感谢,老师发的这个我还第一次接触,还不知道如何操作。今天小花送完了。明天补上。谢谢

TA的精华主题

TA的得分主题

发表于 2019-1-20 12:51 来自手机 | 显示全部楼层
哈哈,这里是很热闹啊,可惜手机上网,下午也来参与下——

TA的精华主题

TA的得分主题

发表于 2019-1-20 13:13 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wfchenyiting 发表于 2019-1-20 12:34
感谢感谢,老师发的这个我还第一次接触,还不知道如何操作。今天小花送完了。明天补上。谢谢

直接访问链接就行了啊!

TA的精华主题

TA的得分主题

发表于 2019-1-20 13:31 | 显示全部楼层
本帖最后由 不知道为什么 于 2019-1-20 13:37 编辑

如图:用 instr 和数组 通过循环仅做判断,只需要 0.078 秒!好像这个还是比楼上老师用正则的速度快很多啊。


仅判断包含.png


如果需要达到你需要的选中符合条件的单元格的要求,用时 2.64秒,这是我想到的最快的代码了。供参考!

TIM截图20190120133725.png




评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-1-20 13:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-1-20 14:16 | 显示全部楼层
  1. Sub 查找1()
  2. Dim FindSt$, Rg1 As Range, Rg2 As Range, Arr
  3. Dim RgA$, RgCol As String, x%, t
  4. FindSt = "*昆山*"
  5. Application.ScreenUpdating = False
  6. t = Timer
  7. Arr = [a1].CurrentRegion
  8. Set Rg1 = Range("a1").Resize(UBound(Arr), UBound(Arr, 2))
  9. For Each b In Rg1
  10.     If b Like FindSt Then
  11.         x = x + 1
  12.         RgCol = RgCol & "," & b.Address(0, 0)
  13.         If x Mod 42 = 0 Then
  14.             If x = 42 Then
  15.                 Set Rg2 = Range(Mid(RgCol, 2))
  16.             Else
  17.                 Set Rg2 = Union(Rg2, Range(Mid(RgCol, 2)))
  18.             End If
  19.             RgCol = ""
  20.         End If
  21.     End If
  22. Next
  23. Rg2.Select
  24. MsgBox "查询到包含字符:" & FindSt & " 共计:" & x & _
  25. "条记录!" & vbCrLf & "用时:" & Timer - t & " 秒!" & _
  26. vbCrLf & vbCrLf & "---Find 查询!"
  27. Application.ScreenUpdating = True
  28. End Sub
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-1-20 14:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-1-20 14:25 | 显示全部楼层
wfchenyiting 发表于 2019-1-19 20:26
复制了您的代码,运行了下,确实速度并没有显著的变化,不过还是非常感谢您的代码和指导。谢谢

减少合并次数  提速
无标题.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-1-20 14:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个速度不知道满不满意?
录制_2019_01_20_14_29_19_541.gif

代码仅供参考

代码仅供参考

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-24 13:50 , Processed in 0.046228 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表