ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

find如何找到规定的目标

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-1-15 09:58 | 显示全部楼层 |阅读模式
我的word里面有一段 是“调整企业所得税利润总额并补缴企业所得税52.32元,滞纳金22.22元”
我需要提取的是52.32  22.22 在excel里面
但是我按照下面的代码提取出来的是 企业所得税利润总额并补缴企业所得税52.32元 最后显示的是总额并补缴企业所得税52.32 不是我想要的答案
如果能限定*为数字 最多只能有空格,不要文字?

Sub 提取特定字符中间的内容() '查找替换
    Dim wdapp As Object, wdoc As Object   '声明wdapp和wdoc变量为对象类型
    Set wdapp = CreateObject("Word.Application")  '将新建word程序对象赋给变量wdapp
    Dim Findchar As String  '要查找的字符
    Findchar = "企业所得税*元"
    Set wdoc = wdapp.Documents.Open(ThisWorkbook.Path & "\范例.docx") '打开word文档
    With wdoc.Content.Find '此处针对全文档
        .MatchWildcards = True '使用通配符
        Do While .Execute(FindText:=Findchar) = True '将内容返回到Excel
            k = k + 1
            Cells(k, 1) = .Parent  '此代码没有处理符号
            Cells(k, 2) = Replace(Replace(.Parent, "企业所得税", ""), "元", "")  '此代码去除符号
        Loop
    End With
    wdoc.Close False  '关闭word文档,不保存更改。
    wdapp.Quit '关闭word程序
    Set wdapp = Nothing     '释放内存
    Set wdoc = Nothing      '释放内存
End Sub


TA的精华主题

TA的得分主题

发表于 2021-1-15 16:02 | 显示全部楼层
建议使用正则表达式查找
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 00:57 , Processed in 0.040806 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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