ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 在word里,对一句话里(逗号为一句话)没有数字或者数字为0.0的则删除

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-4-17 11:58 来自手机 | 显示全部楼层
sunfei00426 发表于 2024-4-17 09:28
很好,没有意见,请大神展示一下结果如何

你先和这些帮你的老师说一声谢谢,再送两朵,免费的花花,我再给你发
Screenshot_2024-04-17-11-54-06-074_com.tencent.mm.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-17 14:47 | 显示全部楼层
本帖最后由 sunfei00426 于 2024-4-17 14:50 编辑

没问题没问题,感谢大家

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-17 15:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
bxm78 发表于 2024-4-17 10:14
请试用,有问题再联系。

太棒了!
但还有最后2个小问题请帮忙解决一下:
1.就比如XX县(或者XX区、XX委)后面跟着规下工业之类这样的表述,可能也没有数字,但是如果删除的话,会把XX县这些地区也删除了,但其实需要保留XX县,否则后面跟的内容不知道是说什么地方了。
2.文中有“(低于全市、全省水平的县区有:**区、**区、**县、**县、**委)”和“(低于全市水平的县区有:**区、**区、**县、**县、**委)”这两类虽然也没有数字,但不能删除。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-17 15:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
过客fppt 发表于 2024-4-17 11:58
你先和这些帮你的老师说一声谢谢,再送两朵,免费的花花,我再给你发

太棒了!
但还有最后2个小问题请帮忙解决一下:
1.就比如XX县(或者XX区、XX委)后面跟着规下工业之类这样的表述,可能也没有数字,但是如果删除的话,会把XX县这些地区也删除了,但其实需要保留XX县,否则后面跟的内容不知道是说什么地方了。
2.文中有“(低于全市、全省水平的县区有:**区、**区、**县、**县、**委)”和“(低于全市水平的县区有:**区、**区、**县、**县、**委)”这两类虽然也没有数字,但不能删除。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-17 15:27 | 显示全部楼层
bxm78 发表于 2024-4-17 10:14
请试用,有问题再联系。

太棒了!
但还有最后2个小问题请帮忙解决一下:
1.就比如XX县(或者XX区、XX委)后面跟着规下工业之类这样的表述,可能也没有数字,但是如果删除的话,会把XX县这些地区也删除了,但其实需要保留XX县,否则后面跟的内容不知道是说什么地方了。如图1
2.文中有“(低于全市、全省水平的县区有:**区、**区、**县、**县、**委)”和“(低于全市水平的县区有:**区、**区、**县、**县、**委)”这两类虽然也没有数字,但不能删除。如图2
image.png


image.png


TA的精华主题

TA的得分主题

发表于 2024-4-19 14:29 | 显示全部楼层
sunfei00426 发表于 2024-4-17 15:11
太棒了!
但还有最后2个小问题请帮忙解决一下:
1.就比如XX县(或者XX区、XX委)后面跟着规下工业之类 ...

我的一个自定义函数 单向查找 可以满足你的要求,你自己模仿一下改写代码就行

Sub 删除Word文档中没有数字的句子()
    Dim t
    Dim l, j, k As Long
    Dim str As String
    Dim rng As Range


    t = Timer
    k = 0
    Selection.HomeKey 6
    Do While 单向查找("[,;。]", True, True)
        j = Selection.Range.End
        CZ l, j
        Set rng = Selection.Range
        str = rng.Text
'        If 单向查找(" ", True, True) Then
            CZ l, j
            If Not 单向查找("[1-9]", True, True) Then
                If Not str = "与上次汇总数相比," Then
                    rng.Font.ColorIndex = 6
                    k = k + 1
                End If
            End If
'        End If
        Selection.Collapse 0
        l = j
        CZ j, j
    Loop
    MsgBox "运行时间(s):" & Timer - t & vbCr & "已经标记要删除的" & k & "句话!"
End Sub

Function 单向查找(文本, 通配符, 向下)
    Dim rng As Range

    With Selection.Find
        .ClearFormatting
        .Text = 文本
        .Forward = 向下
        .Wrap = wdFindStop '单向查找
'        wdFindContinue '往复查找
        .MatchWildcards = 通配符
        .Execute
        .Parent.Select
        单向查找 = .Found
    End With
End Function



Function CZ(l, j)
    Selection.SetRange Start:=l, End:=j
End Function


评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-17 13:18 , Processed in 0.031742 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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