返回
首页 > 数码科技

word 数字千分位的一次性批量添加方法,以及word千分位详细的添加操作步骤

时间: 2023-01-21

是一名会计从业者,在word文档中经常与数字打交道,为了保持数字格式的统一性,需要将数字添加千分位,并保留两位小数。Ijaoffice教程网

  通常是需要一次性把word里的数字全部变为会计格式,即改为有千分号且后带两位小数点的格式。Ijaoffice教程网

  很遗憾的是,word自身内置命令,并不能实现数字千分位的添加。常使用excel的朋友知道,excel添加千分位分隔符,保留两位小数是很简单容易的事情,单击工具栏的命令即可完成。Ijaoffice教程网

  既然内置功能无法满足,我们可以通过自己编写一段VBA代码来实现word数字千分位的批量添加。Ijaoffice教程网

  我们以word2010版为例,来介绍word数字千分位的批量添加方法。Ijaoffice教程网

  第一,打开需要添加数字千分位的word文档。Ijaoffice教程网

  第二,单击开发工具——Visual Basic,或者按ALT+F11,打开VBE编辑器。Ijaoffice教程网

  第三,单击插入——模块,插入一个模块,并在右边的代码窗口复制下面的代码。Ijaoffice教程网

  第四,关闭VBE界面,回到word文档。单击开发工具——宏,找到“qianfen”宏,单击“运行”,即可完成word数字千分位的批量添加。Ijaoffice教程网

word数字千分位Ijaoffice教程网

  下面是具体的word数字千分位批量添加完整代码,直接复制sub至end sub结束。Ijaoffice教程网

Sub qianfen()Ijaoffice教程网
'本代码旨在解决WORD中数据转化为千分位Ijaoffice教程网
'数据限定要求:-922,337,203,685,477.5808 到 922,337,203,685,477.5807Ijaoffice教程网
'转化结果1000以上数据以千分位计算,小数点右侧保留二位小数;1000以下数据不变Ijaoffice教程网
Dim myRange As Range, i As Byte, myValue As CurrencyIjaoffice教程网
On Error Resume NextIjaoffice教程网
Application.ScreenUpdating = False '关闭屏幕更新Ijaoffice教程网
NextFind: Set myRange = ActiveDocument.Content '定义为主文档文字部分Ijaoffice教程网
With myRange.Find '查找Ijaoffice教程网
.ClearFormatting '清除格式Ijaoffice教程网
.Text = "[0-9]{4,15}" '4到15位数据Ijaoffice教程网
.MatchWildcards = True '使用通配符Ijaoffice教程网
Do While .Execute '每次查找成功Ijaoffice教程网
i = 2 '起始值为2Ijaoffice教程网
'如果是有小数点Ijaoffice教程网
If myRange.Next(wdCharacter, 1) = "." ThenIjaoffice教程网
'进行一个未知循环Ijaoffice教程网
While myRange.Next(wdCharacter, i) Like "#"Ijaoffice教程网
i = i + 1 '只要是[0-9]任意数字则累加Ijaoffice教程网
WendIjaoffice教程网
'重新定义RANGE对象Ijaoffice教程网
myRange.SetRange myRange.Start, myRange.End + i - 1Ijaoffice教程网
End IfIjaoffice教程网
myValue = VBA.Val(myRange) '保险起见转换为数据,也可省略Ijaoffice教程网
myRange = VBA.Format(myValue, "Standard") '转为千分位格式Ijaoffice教程网
GoTo NextFind '转到指定行Ijaoffice教程网
LoopIjaoffice教程网
End WithIjaoffice教程网
Application.ScreenUpdating = True '恢复屏幕更新Ijaoffice教程网
End Sub
Ijaoffice教程网

猜你喜欢

版权所有 Copyright©2023 餐饮美食网 版权所有

粤ICP备15109582号

联系邮箱:187348839@qq.com