ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 692|回复: 4

[求助] 如何按格式批量替换

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-1-21 08:40 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原文件如下
111.jpg 想替换成如下效果
222.jpg


原文件.zip (404.12 KB, 下载次数: 6)

TA的精华主题

TA的得分主题

发表于 2021-1-21 14:25 | 显示全部楼层
* 不瞒各位朋友,楼主 的第一道题,费了我 2 个小时的时间才搞定。
  1. Sub aaaa红色加粗下划线_FindSelection_Bold()
  2.     Dim r As Range
  3.     With Selection
  4.         .HomeKey 6
  5.         With .Find
  6.             .ClearFormatting
  7.             .Text = "^13[((]"
  8.             .Replacement.Text = ""
  9.             .Forward = True
  10.             .MatchWildcards = True
  11.             Do While .Execute
  12.                 With .Parent
  13.                     Do While .Next Like "[ ]" Or .Next Like "[ ]" Or .Next Like ChrW(160) Or .Next Like vbTab Or .Next Like "[A-Z]" Or .Next Like "[))]"
  14.                         .MoveEnd
  15.                     Loop
  16.                     If .Text Like "?[((]*[))]*" Then
  17.                         .MoveStart
  18.                         Set r = .Range
  19.                         With r
  20.                             .Find.Execute "[  ^s^t]", , , 1, , , , , , "", 2
  21.                             .Characters.Last.Text = ")"
  22.                             .Next.InsertAfter Text:=" "
  23.                             .InsertAfter Text:=" " & ChrW(160)
  24.                             .Characters.First.InsertAfter Text:=ChrW(160) & " "
  25.                             .Characters.First.Text = "("
  26.                             .MoveEnd 1, -2
  27.                             .MoveStart 1, 3
  28.                             With .Font
  29.                                 .ColorIndex = wdRed
  30.                                 .Bold = True
  31.                             End With
  32.                         End With
  33.                     End If
  34.                     .Start = .End
  35.                 End With
  36.             Loop
  37.         End With
  38.     End With
  39. '''
  40. 'Sub FindBold()'取消加粗
  41.     With ActiveDocument.Content.Find
  42.         .ClearFormatting
  43.         .Font.Underline = wdUnderlineSingle
  44.         With .Replacement
  45.             .ClearFormatting
  46.             .Font.Bold = True
  47.             .Font.ColorIndex = wdRed
  48.         End With
  49.         .Execute Findtext:="", ReplaceWith:="", Format:=True, Replace:=wdReplaceAll
  50.     End With
  51. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-21 18:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2021-1-21 14:25
* 不瞒各位朋友,楼主 的第一道题,费了我 2 个小时的时间才搞定。

谢谢,辛苦了

TA的精华主题

TA的得分主题

发表于 2021-1-21 18:49 | 显示全部楼层
楼主,辛苦是一定的,但是,你应该说说,问题是否解决了呢?我希望听到“问题解决”四个大字。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-22 09:38 | 显示全部楼层
413191246se 发表于 2021-1-21 18:49
楼主,辛苦是一定的,但是,你应该说说,问题是否解决了呢?我希望听到“问题解决”四个大字。

问题解决,谢谢了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 01:28 , Processed in 0.029964 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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