用户登录
用户注册

分享至

word千分位宏 word中用宏加千分位拜求高手

  • 作者: 凯撒-大弟
  • 来源: 51数据库
  • 2020-04-21

宏我不会,因为看到这么久没人回,所以我给出一个比较能够满足你的要求的方法

步骤1:有小数点的整数部分加空格

ctrl+h调出替换对话框

查找内容输入:([0-9])([0-9]{3})([. ])

替换为输入:\1 \2\3

高级或更多选择“使用通配符”,点击全部替换若干次,直到提示替换了0处为止。

步骤2:有小数点的小数部分加空格

ctrl+h调出替换对话框

查找内容输入:([. ])([0-9]{3})([0-9])

替换为输入:\1\2 \3

高级或更多选择“使用通配符”,点击全部替换若干次,直到提示替换了0处为止。

步骤3:不含小数点的部分加空格

ctrl+h调出替换对话框

查找内容输入:([0-9])([0-9]{3})([!0-9 .年])

替换为输入:\1 \2\3

高级或更多选择“使用通配符”,点击全部替换若1次。

步骤4:超过6位的无小数点部分加空格

ctrl+h调出替换对话框

查找内容输入:([0-9])([0-9]{3})([. ])

替换为输入:\1 \2\3

高级或更多选择“使用通配符”,点击全部替换若干次,直到提示替换了0处为止。

word如何给数字加千分位,通过宏解决,而且要避开年份,即年份不加千分位,且其他数据均保留两位小数。

表格形式的数据,建议用excel处理好再复制回来。(格式--数字--..)

少的话还是自己手改。

其实查找替换(选通配符)可以改好的:

1.先查年份:

([12][90])([0-9]{2}[!0-9]) 替换为 \1◆\2

2.加千分位

([0-9]{3})([0-9]) 替换为 \1,\2

3.◆ 替换为 空

要做宏的话你参考一下:

Sub F3()

With Selection.Find

.Text = "\<[ABRIUPa-z/]{1,}\>"

.Replacement.Text = "^p"

.MatchByte = True

.MatchWildcards = True

End With

Selection.Find.Execute Replace:=wdReplaceAll

End Sub

WORD里数字用千分位怎么设置

可以通过查找替换的方式进行设置,具体操作步骤如下:

工具/原材料

word2016版、电脑。

1、打开电脑找到并点击word2016版文档软件;

2、双击打开word文档软件以后,先在空白文档内编辑好任意的数字内容;

3、编辑好数字内容以后,在右上方的工具栏中找到并点击替换的命令;

4、在弹出的对话框中找到并点击“更多”按钮;

5、点击更多的命令以后,在出现的选项中勾选“使用通配符”的命令;

6、勾选以后,在上方的查找内容栏里输入“([0-9])([0-9]{3})([!][0-9年])”,在替换为栏里正确输入“\1,\2\3”;

7、输入并设置好以后,此时在一直点击替换的按钮直到完成为止。

如何在word中实现千分位符

其他输入法不清楚,搜狗输入法先输入v再输入数字会出现千分位形式,但.00还是要自己输入

有一段宏代码运行后可以自动给数字加千分位及两位小数位

转帖

在Word中也实现数字自动千分位格式

这个方法比较好。收藏一下。(转自“中国会计视野论坛”里zhufree朋友的帖子。)

打开WORD程序,在上方菜单区域中,右键单击,选中Visual Basic。点击“Visual Basic编辑器”图标,打开Visual Basic,在“ThisDocument ”中双击,然后在右边的窗口中复制下方的代码:

2、对所有的数字加千分位,并且自动加上尾数.00

Sub yycealjj1()

'本代码旨在解决WORD中数据转化为千分位

'数据限定要求:-922,337,203,685,477.5808 到 922,337,203,685,477.5807

'转化结果1000以上数据以千分位计算,小数点右侧保留二位小数;1000以下数据不变

Dim myRange As Range, i As Byte, myValue As Currency

On Error Resume Next

Application.ScreenUpdating = False '关闭屏幕更新

NextFind: Set myRange = ActiveDocument.Content '定义为主文档文字部分

With myRange.Find '查找

.ClearFormatting '清除格式

.Text = "[0-9]{4,15}" '4到15位数据

.MatchWildcards = True '使用通配符

Do While .Execute '每次查找成功

i = 2 '起始值为2

'如果是有小数点

If myRange.Next(wdCharacter, 1) = "." Then

'进行一个未知循环

While myRange.Next(wdCharacter, i) Like "#"

i = i + 1 '只要是[0-9]任意数字则累加

Wend

'重新定义RANGE对象

myRange.SetRange myRange.Start, myRange.End + i - 1

End If

myValue = VBA.Val(myRange) '保险起见转换为数据,也可省略

myRange = VBA.Format(myValue, "Standard") '转为千分位格式

GoTo NextFind '转到指定行

Loop

End With

Application.ScreenUpdating = True '恢复屏幕更新

End Sub

关闭Visual Basic编辑器,回到WORD界面。输入文章后,点击“运行宏”图标,运行yycealjj1宏,即可对数字加千分位。(可以插入模板,以后而要时加载即可。)

想在word里面输入千分位分隔符的数字,怎么弄

  1. 用替换法,快捷键Ctrl+h;

  2. “搜索选项”下方勾选“使用通配符”;

  3. “查找内容”中填入: ([0-9])([0-9]{3})([!][0-9年]),“替换为”中填入:\1,\2\3,

    在输入法为英文半角的状态下输入。

  4. 执行“全部替换”。重复按“全部替换”按钮,直到提示“替换0处”为止。

  5. 查找框中“([0-9])([0-9]{3})([!][0-9年])”的含义是: ()[ ]{ }称为:通配符。

    ( ) 表达式,[ ] 范围内的任意单个字符,{ } 指定前一范围次数(勾选 “使用通配符”复选框让通配符设定的条件起作用)。

    意思是:查找不是0-9或者“年”之前的三位以上的数字(WORD默认从左到右顺序查找)。

  6. 替换框中“\1,\2\3”的含义是:\1代表查找框中第一个表达式,\2代表查找框中第二个表达式,以此类推。意思是:按从左到右的顺序,在不是0-9或者“年”前的第四位数字后加千分位符(,)。如:10000000.00元,按第一次“全部替换”按钮为:10000,000.00元,按第二次“全部替换”按钮为:10,000,000.00元,按第三次“全部替换”按钮为:“替换0处”完成。

如何将Word中的数字转换为千分位的格式

  word中,没有自动实现数字转换为千分位格式的方法,只能通过手工编写宏命令的方法来实现。

  具体步骤如下:

  1、打开word;'

  2、按alt+F11打VBA编辑器,点击插入->模块;

  3、在模块窗口输入以下宏指令:

  Sub FormatNumbers()

   Selection.TypeText Text:=Format(Selection, "#,##0.00")

  End Sub

  4、保存退出VBA编辑器;

  5、点击office按钮->word选项;

  6、打开自定义对话框,选择宏,点击添加,确定;

  7、选择需要设置会计格式的数字,点击快捷栏中的宏命令;

  8、完成。

如何将Word中的数字转换为千分位的格式

不行,因为Word里面的所有文字都是文本格式的,所以无法想EXCEL里一样对数字进行格式的转换做WORD的表格的时候 如果涉及到大量数字 建议使用插入→对象→EXCEL工作表 这样就可以实现数字像EXCEL里一样可以转换格式 你如果觉得不够好看 编辑好了以后再复制出来 粘贴为WORD表格就行了

word2007数字千分位怎么设

手动输入个英文逗号就行,如有你非要高难度的,我转一个文章给你,你看看吧

采用了VBA编写了一个小程序来实现这一功能,以方便有这方向烦恼的读者,程序如下:

Sub 改变数字格式为千分位格式 ()

Dim strWithTh As String '用于保存处理后的数字

Dim intI As Integer

'循环给定的数字

Dim intLen As Integer '求数字长度

Dim intCount As Integer '保存改变个数

With Selection

.HomeKey Unit:=wdStory '回到文章开头

.Find.ClearFormattingDo

.Find.Text = "^#^#^#^#" '查找4位数字

'如果没有找到,退出

If .Find.Execute = False Then

MsgBox "长春崔宇的程序:千分位设置完毕!共改变 " & intCount & "个数字。", vbInformationExit SubEnd IfintCount = intCount + 1 '计数器增加

.MoveLeft '移到整个数字的左边

.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend '选择整个数字

intLen = Len(.Text)

strWithTh = "" '清空

For intI = intLen To 1 Step -3

If intI 3 Then

strWithTh = "," & Mid(.Text, intI - 2, 3) & strWithThElse'对于长度为3的倍数的数字特别处理

strWithTh = Left(.Text, IIf(intLen Mod 3 = 0, 3, intLen Mod 3)) & strWithThEnd IfNext

.Text = strWithTh

.MoveRight '右移一个来取消选择LoopEnd WithEnd Sub将上面的代码,保存在NORMAL模板中,需要运行时,按ALT+F8选择该宏运行就可以了,当然也可为这个宏分配一个按钮。

程序的实现方法:程序是以WORD的查找为基础,找到四位以上的数字,然后选择这个数字,将其变为千分位格式后写回,循环到查找结束。当然代码中并没有对数字进行细致的分析,所以对“2002年”这样不应加千分位的数字也会处理。代码在OFFICE9,OFFICE10,OFFICE11,OFFICE12上运行通用。

转载请注明出处51数据库 » word千分位宏 word中用宏加千分位拜求高手

软件
前端设计
程序设计
Java相关