ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何实现让查找到的字符、只处以被选中的状态?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-11-15 21:44 | 显示全部楼层
139:今年不忙,上线时间少是因为除前一段人民币那两个宏外,确实是不会本坛问题!
下面是循环处理的小宏,试试吧!(不知道你要怎么处理这些标点?)
还有:请搜索本坛关键词《微软官方VBA帮助》以前我上传的,看看能否帮到你;如果没有,我可以提供。
  1. Sub LoopSet()
  2.     ActiveDocument.Content.Font.Color = wdColorAutomatic '全文设置为自动色
  3.     Selection.HomeKey Unit:=wdStory
  4.     Selection.Find.ClearFormatting
  5.     Do While Selection.Find.Execute(FindText:="[!一-龥^1-^127]", Forward:=True, MatchWildcards:=True)
  6.         Selection.Font.Color = wdColorRed '红色
  7.         Selection.Font.Bold = True '加粗
  8.         Selection.MoveRight Unit:=wdCharacter, Count:=1
  9.     Loop
  10.     Selection.HomeKey Unit:=wdStory '文首
  11. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-11-16 07:42 | 显示全部楼层
413191246se 发表于 2016-11-15 21:44
139:今年不忙,上线时间少是因为除前一段人民币那两个宏外,确实是不会本坛问题!
下面是循环处理的小宏 ...

师傅好!
感谢师傅!
师傅、您太谦虚了,我知道您的实力!
《微软官方VBA帮助》您以前给过我,因基础太差,时间也不够,导致一二下看不懂。
我原以为,循环处理可以让查找到的非连续区域的字符、处在被选中(拉黑)的状态,才让您给一个循环处理的代码。
看来也不能,也就是说、手动可以做到的,VBA不一定能做到,是吧?师傅!

TA的精华主题

TA的得分主题

发表于 2016-11-16 10:18 | 显示全部楼层
13907933959 发表于 2016-11-16 07:42
师傅好!
感谢师傅!
师傅、您太谦虚了,我知道您的实力!

你师傅真的很厉害,我也经常看他的贴,他用心良苦,比如这个代码就是为了让你能清晰的看到,代码的处理过程!
我模仿他的代码用range对象也写一个,这个处理过程你看不到的,代码如下:
  1. Sub LoopSet()
  2.    Dim aRrang As Range
  3.    Set aRrang = ActiveDocument.Content
  4.    aRrang.Font.Color = wdColorAutomatic
  5.    Do While aRrang.Find.Execute("[!一-龥^1-^127]", , , True)
  6.       aRrang.Font.Color = wdColorRed
  7.       aRrang.Font.Bold = True
  8.    Loop
  9. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-11-16 12:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13907933959 于 2016-12-11 11:15 编辑
duquancai 发表于 2016-11-16 10:18
你师傅真的很厉害,我也经常看他的贴,他用心良苦,比如这个代码就是为了让你能清晰的看到,代码的处理过 ...

前辈好!
感谢前辈!
是啊!由于电脑我也是前年刚接触,读书又很少,也没学过英语,汉语拼音…等,到现在除了26个大小写的英文字母免强认得外,一句英语也不会,连打字都不会(只能用手写板),再加上学中医,
要看、要记的东西特别多,学其它东西的时间就显得不够,所以学 VBA 对我来说,如水中捞月,相当艰难,也是没有办法,前年下半年我跟师傅学中医,很多中医资料受师傅的委托加于整理,可自已又是个门外汉,整理资料对我来说是一件免为其难,赶鸭子上架的事,本不想整理,后来想想还是整理,一是受老人所托,不想让他一生的心血淹没,二是自已在这个过程中多少总能学到东西。可没想到在整理的过程中,会遇到这么多的问题,涉及的知识有这么多,不得不求助于网络,大概是去年的4~5月份,一次偶然的机会看到这个论坛,才上来求助,有幸得到过您及多位前辈的帮助,有幸认得了我师傅 413191246se,得到过他无以计数次的相助,资料才得以整理,是他把我领进了 VBA 这个门,由于自已书念得少又是个外行,对求助的问题经常是表述不清、道不明,得到求助后也经常是看不懂、不会用,也不知把我师傅及论坛上的前辈们气得无语了多少次,值得庆幸的是:得到了他们的包容和理解以及耐心的解答,这个另本人十分的惭愧和感动!

TA的精华主题

TA的得分主题

发表于 2016-11-16 12:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 duquancai 于 2016-11-16 12:46 编辑
13907933959 发表于 2016-11-16 12:25
前辈好!
感谢前辈!
是啊!由于电脑我也是前年刚接触,读书又很少,也没学过英语,汉语拼音…等,到现 ...

要学会调试代码,这很重要,还有就是F1查看帮助
比如:就是上面你师傅写的代码,结合文档和代码,用F8单步运行,一边看代码运行,一边看文档的变化
这段代码你师傅之所以这样写,最大的目的就是要你自己调试,看代码逐句运行,同时也能看到文档的选中的区域是怎么变化的,你师傅之用心良苦啊!

TA的精华主题

TA的得分主题

发表于 2016-11-16 14:20 | 显示全部楼层
正路行不通,可试试歪路。
但真搞不懂楼主为啥非要先选择不连续区域。
Set d = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
d.setText "[!一-龥^1-^127]"
d.PutInClipboard
Selection.Find.MatchWildcards = True
SendKeys "^v%im{esc}"
Dialogs(wdDialogEditFind).Display
Selection.Font.Color = wdColorRed
Selection.Font.Bold = True
以上代码是用07版做的,如果是03版,“查找”对话框的快捷键会不同,需另作修改SendKeys 的内容。
楼主未学过电脑和英语,学习VBA代码可真不容易啊!慢慢用心学,相信你行的,加油!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-11-16 15:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
duquancai 发表于 2016-11-16 12:42
要学会调试代码,这很重要,还有就是F1查看帮助。
比如:就是上面你师傅写的代码,结合文档和代码,用F8 ...

前辈好!
好的。
感谢前辈和师傅的用心良苦!只是能力和时间不足,短时间怕难见到功效,不过、我会努力!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-11-16 15:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
dafanshu1 发表于 2016-11-16 14:20
正路行不通,可试试歪路。
但真搞不懂楼主为啥非要先选择不连续区域。
Set d = CreateObject("new:{1C3B4 ...

前辈好!
感谢一路有您!感谢您的鼓励!
我的是2003版的,凭我的水平修改不来SendKeys 的内容,劳前辈再出手相助!
最好能给一个完整的代码,实在是实力不够。

TA的精华主题

TA的得分主题

发表于 2016-11-16 15:41 | 显示全部楼层
13907933959 发表于 2016-11-16 15:07
前辈好!
感谢一路有您!感谢您的鼓励!
我的是2003版的,凭我的水平修改不来SendKeys 的内容,劳前辈 ...

试试将之前那句
SendKeys "^v%im{esc}"
换成:
SendKeys "^v%t%f{esc}"

TA的精华主题

TA的得分主题

发表于 2016-11-16 16:46 | 显示全部楼层
dafanshu1 发表于 2016-11-16 15:41
试试将之前那句
SendKeys "^v%im{esc}"
换成:

这种运用剪贴板和发送按键来达到目的,能行得通!但是意义不大。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-26 05:13 , Processed in 0.037772 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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