ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] WORD如何批量修改数字?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-3-21 12:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 13907933959 于 2016-3-22 13:46 编辑
gbgbxgb 发表于 2016-3-21 10:22
对于类似“.09”这样的数字,直接忽略它的这种表现形式不妥,代码作了新的变动,将传往您的邮箱。

另 ...

前辈好!
修改后的宏更人性化了,如查找到文档内有非正常数字,.几几,点号前面少了0的,即会弹出提示确认框,刚才运行后发现文档内有几个这样的非正常数字,就需要确认多少次。能不能再劳您让它变成一次确认就可的那种。对您用非Find对象的方案,在下记往了,万分感谢!

TA的精华主题

TA的得分主题

发表于 2016-3-21 14:25 | 显示全部楼层
13907933959 发表于 2016-3-21 12:03
前辈好!
劳您费心了,在下真是感动!修改后的宏更人性化了,如查找到文档内有非正常数字,.几几,点号 ...

您这样让人感觉就不好了。

新附件已传往您的邮箱。

补:您有能力跟帖帮助他人,何以没能力对本人提供的代码稍作修改?

最后:到此为止了,若再有疑问,您只好自个儿琢磨着改了(或者,您帖上本人代码求助他人,我不想助人,但不反对您拿这代码求助于人)。我对此帖没兴趣了。

TA的精华主题

TA的得分主题

发表于 2016-3-21 14:31 | 显示全部楼层
13907933959 发表于 2016-3-21 12:03
前辈好!
劳您费心了,在下真是感动!修改后的宏更人性化了,如查找到文档内有非正常数字,.几几,点号 ...

事实上,从您的需求看,根本用不着提示,您直接去除判断的相关语句,让其直接替换就好了,这样的话,代码改起来也简单。何苦来个至少保留一次确认?!!!!

另:之所以要方案1,不要Find的方案2,原因是前者速度快很多。故新附件已经删除了Find方案,即不再提供Find方案的修改。

TA的精华主题

TA的得分主题

发表于 2016-3-21 14:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 xwdys 于 2016-3-22 11:26 编辑

Sub test()
    Dim i&, j&, k&, s$, regx
    Dim mat As Object
    s = Selection.Range
    Set regx = CreateObject("vbscript.regexp")
    regx.Pattern = "(\d+\.?\d+)"
    regx.Global = True
    Set mat = regx.Execute(s)
    For i = 0 To mat.Count - 1
        j = mat.Item(i).firstindex
        k = mat.Item(i).Length
        If j <> 0 Then
            s = Left(s, j) & VBA.Replace(s, mat.Item(i), mat.Item(i) * 2, j + 1, k)
        Else
            s = Replace(s, Left(s, k), Val(Left(s, k)) * 2)
        End If
    Next
    Selection.Range = s
End Sub

TA的精华主题

TA的得分主题

发表于 2016-3-21 14:52 | 显示全部楼层
本帖最后由 13907933959 于 2016-3-22 13:52 编辑
gbgbxgb 发表于 2016-3-21 14:31
事实上,从您的需求看,根本用不着提示,您直接去除判断的相关语句,让其直接替换就好了,这样的话,代码 ...

前辈好!
好的、几次打扰、还望海涵!感谢前辈!

TA的精华主题

TA的得分主题

发表于 2016-3-22 13:55 | 显示全部楼层
xwdys 发表于 2016-3-21 14:42
Sub test()    Dim i&, j&, k&, s$, regx    Dim mat As Object    s = Selection.Range    Set regx = Cre ...

前辈好!
运行这个宏后,附件上内的内容好像未作任何修改。

TA的精华主题

TA的得分主题

发表于 2016-3-22 15:17 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
对选择的文本

TA的精华主题

TA的得分主题

发表于 2016-3-23 10:13 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-14 20:00 , Processed in 0.030409 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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