ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 这样的批量替换,不知可否实现!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-4-27 09:45 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13907933959 于 2020-4-27 09:47 编辑

各位前辈好!

想把 “原文件” 中的中药材,作如下批量替换:

1、让每个中药材名的上一段,为空段。
2、每个中药材名的后面加上一个中文冒号。
3、“味性” 及它们的属性,分开,并前后的位置调换。
4、每个 “归经” 及后面本段的文字,下移一段:

具体详见2个附件!因还有几百页需要整理,求各位前辈帮忙!拜谢!


原文件

百药煎
味性:酸甘,平。归经:心;肺;胃经。润肺化痰,生津止渴。治久咳痰多,咽痛,便血,久痢脱肛,口疮,牙疳,痈肿疮疡。
豺肉
味性:甘酸,温。归经:肝;肾;脾;胃经。补虚消积;散瘀消肿。主虚劳体弱;食积;跌打瘀肿;痔瘘
橙子(橙、黄橙、金橙、金球、鹄壳)
味性:酸;凉。归经:肺;肝;胃经。止呕恶,宽胸膈,消瘿,解酒,杀鱼、蟹毒。
赤小豆叶(赤小豆藿、小豆藿、小豆叶)
味性:味甘;酸;涩;性平。归经:肝;肾;胃经。固肾缩尿;明目;止渴。主小便频数;肝热目糊;心烦口渴
赤阳子(救军粮、赤果、纯阳子、火把果、红子、救兵粮)、水沙子、救兵粮、豆金娘、小红子、火棘)
味性:甘;酸;涩;平。归经:肝;脾;胃经。健脾消积,活血止血。治痞块,食积,泄泻,痢疾,崩漏,产后血瘀。
刺梨(茨梨、文先果、团糖二、莰梨、文光果、油刺果)
味性:甘;酸涩。归经:脾;肾;胃经。健胃;消食;止泻。主食积饱胀;肠炎腹泻
……
想要达到的效果

百药煎
性:平。味:酸、甘。
归经:心、肺、胃经。润肺化痰,生津止渴。治:久咳痰多,咽痛,便血,久痢脱肛,口疮,牙疳,痈肿疮疡。

豺肉
性:温。味:甘、酸。
归经:肝、肾、脾、胃经。补虚消积;散瘀消肿。主虚劳体弱;食积;跌打瘀肿;痔瘘。

橙子(别名:橙、黄橙、金橙、金球、鹄壳):
性:凉。味:酸、甘。
归经:心、肺、胃经。润肺化痰,生津止渴。治:久咳痰多,咽痛,便血,久痢脱肛,口疮,牙疳,痈肿疮疡。

赤小豆叶(别名:赤小豆藿、小豆藿、小豆叶):
性:平。味:甘、酸、涩。
归经:肝、肾、胃经。固肾缩尿;明目;止渴。主小便频数;肝热目糊;心烦口渴。

赤阳子(别名:救军粮、赤果、纯阳子、火把果、红子、救兵粮)、水沙子、救兵粮、豆金娘、小红子、火棘):
性:平。味:甘、酸、涩。
归经:肝、脾、胃经。健脾消积,活血止血。治:痞块,食积,泄泻,痢疾,崩漏,产后血瘀。

刺梨(别名:茨梨、文先果、团糖二、莰梨、文光果、油刺果):
性:凉。味:甘、酸、涩。
归经:脾、肾、胃经。健胃、消食;止泻。主食积饱胀;肠炎腹泻。

……

原文件.rar

10.76 KB, 下载次数: 19

想要达到的效果.rar

11.75 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2020-4-27 11:11 | 显示全部楼层
用正则可以的

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-4-27 18:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

前辈好!
能劳您写一个代码,帮我这个忙吗?谢谢!

TA的精华主题

TA的得分主题

发表于 2020-4-28 15:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
试试这个,应该能完成90%以上的工作:

With ActiveDocument.Content.Find
        
        .Execute "(味)(性)(:[味微辛甘酸咸苦涩,、;。]{1,})([性微平温热寒凉。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\1\3\2:\4^p\5\6\7^p", 2
        
        .Execute "(味)(性)(:[味微辛甘酸咸苦涩,、;。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\1\3^p\4\5\6^p", 2
        
        .Execute "(味)(性)(:[性微平温热寒凉。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\2\3^p\4\5\6^p", 2
        
        .Execute "性:性", , , 1, , , , , , "性:", 2
        
        .Execute "味:味", , , 1, , , , , , "味:", 2
        
End With
   



                                            莫愁前路无知己,天下谁人不识君!只道是:海内存知己,天涯若比邻!  

    评分

    1

    查看全部评分

    TA的精华主题

    TA的得分主题

     楼主| 发表于 2020-4-28 16:11 | 显示全部楼层
    [广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
    wdpfox 发表于 2020-4-28 15:29
    试试这个,应该能完成90%以上的工作:

    With ActiveDocument.Content.Find

    前辈好!
    万分感谢!真是厉害!几步的“表达式”就超过了差不多我一天的工作量!完成了90%以上的替换,真了不起!
    前辈、您可能没注意,我想把“味性”及它们的属性,分开,并前后的位置调换,原因是它们的位置颠倒了。如下所示:
    原文件
    百药煎
    味:酸甘,性:平。…
    想要达到的效果
    百药煎:
    性:平。味:酸、甘。…
    不知这个可替换否?如能、还请您再帮忙!拜谢!

    TA的精华主题

    TA的得分主题

    发表于 2020-4-28 20:53 | 显示全部楼层
    本帖最后由 wdpfox 于 2020-4-28 20:55 编辑

            我也是一小白,在论坛中向前辈老师们学习。
    With ActiveDocument.Content.Find
            
            .Execute "(味)(性)(:[味微辛甘酸咸苦涩,、;。]{1,})([性微平温热寒凉。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\2:\4\1\3^p\5\6\7^p", 2
            
            .Execute "(味)(性)(:[味微辛甘酸咸苦涩,、;。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\1\3^p\4\5\6^p", 2
            
            .Execute "(味)(性)(:[性微平温热寒凉。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\2\3^p\4\5\6^p", 2
            
            .Execute "性:性", , , 1, , , , , , "性:", 2
            
            .Execute "味:味", , , 1, , , , , , "味:", 2
            
    End With
       
    稍作变化即可。


                                            莫愁前路无知己,天下谁人不识君!只道是:海内存知己,天涯若比邻!  

    TA的精华主题

    TA的得分主题

     楼主| 发表于 2020-4-29 07:04 | 显示全部楼层
    [广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
    wdpfox 发表于 2020-4-28 20:53
    我也是一小白,在论坛中向前辈老师们学习。
    With ActiveDocument.Content.Find
            

    前辈过谦了!你这功夫够我学一段时间!
    您的代码以基本满足愿望,自己再细化一下即可,感谢!感谢!

    TA的精华主题

    TA的得分主题

    发表于 2020-5-4 09:01 | 显示全部楼层
    本帖最后由 相见是缘8 于 2020-5-4 09:06 编辑
    wdpfox 发表于 2020-4-28 15:29
    试试这个,应该能完成90%以上的工作:

    With ActiveDocument.Content.Find

    老师好!
    测试发现:
    .Execute "(味)(性)(:[味微辛甘酸咸苦涩,、;。]{1,})([性微热温平寒凉。]{1,})(归经)(*)(^13)", , , 1, , , , , , "\1\3\2:\4^p\5\6\7^p", 2
    这个查找“表达式”,还有缺陷,会把“性微温、性微热、性微寒、性微凉”…等,也分开了。
    老师、怎样才能避开它呢?

    TA的精华主题

    TA的得分主题

    发表于 2020-5-4 09:04 | 显示全部楼层
    [广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
    13907933959 发表于 2020-4-29 07:04
    前辈过谦了!你这功夫够我学一段时间!
    您的代码以基本满足愿望,自己再细化一下即可,感谢!感谢!

    老哥好!
    好久不见!
    在 wdpfox 老师的代码上,加上下面这一步,可让每个中药材名的后面加上一个中文冒号,也就是在每个中药材名后的段落符的前面,加上一个中文冒号。
    .Execute "^13^13(*)^13", , , 1, , , , , , "^p^p\1:^p", 2

    TA的精华主题

    TA的得分主题

     楼主| 发表于 2020-5-6 08:29 | 显示全部楼层
    相见是缘8 发表于 2020-5-4 09:04
    老哥好!
    好久不见!
    在 wdpfox 老师的代码上,加上下面这一步,可让每个中药材名的后面加上一个中文冒 ...

    老弟好!
    聪明的办法,解决了一个难题!感谢老弟!
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-11-28 04:35 , Processed in 0.052810 second(s), 15 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4

    © 1999-2023 Wooffice Inc.

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

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

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