数字全部转换成带千分符的格式
时间:2008-11-19
来源:互联网
如:123456.78元,转换为123,456.78元(每3位数加一个英文逗号),文章短,手工改有可能,要是太长的话可能效率低下不说,还可能改遗漏掉.
[ 本帖最后由 wshcw 于 2008-11-19 16:31 编辑 ]
作者: wshcw 发布时间: 2008-11-19
作者: 巧克lee 发布时间: 2008-12-08
查找替换的方法如下:
第1次查找替换:[查找内容]([0-9])([0-9]{3}.[0-9])
[替换为]\1,\2
勾选:使用通配符
第2次查找替换:[查找内容]([0-9])([0-9]{3},[0-9]{3}.[0-9])
[替换为]\1,\2
勾选:使用通配符
第3次查找替换:[查找内容]([0-9])([0-9]{3},[0-9]{3},[0-9]{3}.[0-9])
[替换为]\1,\2
勾选:使用通配符
以此类推,从第3次查找替换开始,每增加一次就在[查找内容]中增加一个查找“[0-9]{3},”项目,直至查找替换反馈的数目为“0”。
作者: 如意 发布时间: 2008-12-08
附件

2008-12-8 16:52, 下载次数: 86
作者: noname_ve 发布时间: 2008-12-08
作者: wshcw 发布时间: 2009-06-26
引用:
原帖由 wshcw 于 2009-6-26 13:27 发表全文替换还是不智能,不可用,这会把年份也加上了千分符.
[ 本帖最后由 守柔 于 2009-6-26 13:58 编辑 ]
附件

2009-6-26 13:58
作者: 守柔 发布时间: 2009-06-26
作者: sqds_ybc 发布时间: 2009-06-26
作者: dengjq2000 发布时间: 2009-06-28
引用:
原帖由 守柔 于 2009-6-26 13:53 发表你可以把这个WORD文档传给我,我用《守柔Word数字通》给您转换一下即可。
Sub 数字加千分符()
Dim i As Range, Acell As Cell, CR As Range, YN As String
On Error Resume Next
Application.ScreenUpdating = False
With Selection
If .Type = 2 Then
If .Words(1) Like "#" = False Then .Words(1).InsertBefore "辅助"
For Each i In .Words
If i Like "####*" = True Then
If i.Next Like "." = True And i.Next(wdWord, 2) Like "#*" = True Then
i.SetRange Start:=i.Start, End:=i.Next(wdWord, 2).End
i = Format(i, "Standard")
Else
i = Format(i, "Standard")
End If
End If
Next i
.Words(1).Delete
ElseIf .Type = 5 Then
For Each Acell In .Cells
Set CR = ActiveDocument.Range(Acell.Range.Start, Acell.Range.End - 1)
If CR Like "####*" = True Then
If CR Like "####.#*" = True Then
YN = Format(CR, "Standard")
CR.Text = YN
Else
YN = Format(CR, "Standard")
CR.Text = YN
End If
End If
Next Acell
Else
MsgBox "您只能选定文本或者表格之一!", vbOK + vbInformation
End If
End With
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ",([0-9]@)(.00)([\]年])"
.Replacement.Text = "\1\3"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
作者: wshcw 发布时间: 2009-06-29
引用:
原帖由 wshcw 于 2009-6-29 22:39 发表文档我不传了,现在公文保密查得紧,我用录制宏做了一下代码,请守柔老师简化和修改、指正,代码如下:
Sub 数字加千分符()
Dim i As Range, Acell As Cell, CR As Range, YN As String
On Error Resu ...
http://club.excelhome.net/viewth ... p;extra=&page=1
作者: 守柔 发布时间: 2009-06-30
引用:
原帖由 守柔 于 2009-6-30 06:32 发表您录制的宏代码,我怎么非常眼熟啊?
http://club.excelhome.net/viewthread.php?tid=65559&extra=&page=1
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ",([0-9]@)(.00)([\]年])"
.Replacement.Text = "\1\3"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
其余的应该是你写的代码吧(4楼附件中的一部分).
作者: wshcw 发布时间: 2009-06-30
替 换 为:\1,\2\3
勾选“使用通配符”,重复执行“全部替换”直到提示替换0处为止。
或者在VBA中使用循环来替换。
作者: kqbt 发布时间: 2009-06-30
作者: huyong152 发布时间: 2011-07-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28