1、Word 中数字金额小写“变”大写有两招在日常的办公应用中,尤其是作为一名财务人员,经常需要输入大写金额的形式的数字,“肆仟叁佰五拾元零伍分”,如果用手工输入的话,显得比较麻烦,其实只要通过输入小写数字并通过如下两招就能达到快速输入的目的。第一招:釜底抽薪 自动更正法如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具自动更正选项”打开“自动更正”对话框(图 1),在“替换”下的框内输入“4350.05”并单击“添加”按钮确定后退出,以后直接输入“4350.05”后回车即可快速得到“肆
2、仟叁佰伍拾元零伍分”。第二招:一劳永逸 编制自动宏如果有许多小写金额要变成大写的话,用上面的自动更正的方法需要定义很多自动更正项,显然也比较麻烦,其实只需要编辑一个宏就能做到“一劳永逸”了。启动 Word 后按下 A lt+F11 组合键,在打开的工程窗口左侧双击“ThisDocument”进入代码编写窗口,在代码编辑窗口中输入如下代码:Option ExplicitSub 小写金额变大写()Dim Numeric As Currency, IntPart As Long, DecimalPart As Byte, MyField As Field, Lable As StringDim Ji
3、ao As Byte, Fen As Byte, Oddment As String, Odd As String, MyChinese As StringConst ZWDX As String = “壹贰叁肆伍陆柒捌玖零“ 定义一个中文大写汉字常量On Error Resume Next 错误忽略With SelectionNumeric = VBA.Round(VBA.Val(.Text), 2) 四舍五入保留小数点后两位判断是否在表格中If .Information(wdWithInTable) Then _.MoveRight unit:=wdCell Else .MoveRight
4、 unit:=wdCharacter对数据进行判断,是否在指定的范围内If VBA.Abs(Numeric) 2147483647 Then MsgBox “数值超过范围!“, _vbOKOnly + vbExclamation, “Warning“: Exit SubIntPart = Int(VBA.Abs(Numeric) 定义一个正整数Odd = VBA.IIf(IntPart = 0, “, “元“) 定义一个 STRING 变量插入中文大写前的标签Lable = VBA.IIf(Numeric = VBA.Abs(Numeric), “人民币金额大写: “, “人民币金额大写: 负
5、“)对小数点后面二位数进行择定DecimalPart = (VBA.Abs(Numeric) - IntPart) * 100Select Case DecimalPartCase Is = 0 如果是 0,即是选定的数据为整数Oddment = VBA.IIf(Odd = “, “, Odd & “整“)Case Is “, “元零“ & VBA.Mid(ZWDX, DecimalPart, 1) & “分“, _VBA.Mid(ZWDX, DecimalPart, 1) & “分“)Case 10, 20, 30, 40, 50, 60, 70, 80, 90 如果是角整Oddment =
6、 “元“ & VBA.Mid(ZWDX, DecimalPart / 10, 1) & “角整“Case Else 既有角,又有分的情况Jiao = VBA.Left(CStr(DecimalPart), 1) 取得角面值Fen = VBA.Right(CStr(DecimalPart), 1) 取得分面值Oddment = Odd & VBA.Mid(ZWDX, Jiao, 1) & “角“ 转换为角的中文大写Oddment = Oddment & VBA.Mid(ZWDX, Fen, 1) & “分“ 转换为分的中文大写End Select指定区域插入中文大写格式的域Set MyField
7、 = .Fields.Add(Range:=.Range, Text:=“= “ & IntPart & “ *CHINESENUM2“)MyField.Select 选定域(最后是用指定文本覆盖选定区域)如果仅有角分情况下,Mychinese 为“MyChinese = VBA.IIf(MyField.Result “零“, MyField.Result, “).Text = Lable & MyChinese & OddmentEnd WithEnd Sub人民币金额大写: 输入完毕后按下 Alt+Q 键返回 word 中,以后只需要依次选中需要转换的小写金额后,按下 Alt+F8 打开宏对话框,选择“小写金额变大写”宏(图 2),并单击“运行”即可快速地得出大写金额。运行该宏可以在选定的文本数据后面插入此金额大写,如果选定范围在表格中,则在右侧单元格中插入金额大写出处:http:/