|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
最近因同事要求,合同中的大写金额比较麻烦,希望能改进,我网上查了,没有一个完美的办法.
故我借鉴了WORD中的域处理,结合了EXCEL中的一些方法,制作了以下代码,
但因每个人的具体应用是不同的,代码不能一成不变,不同的场合是需要调整的,在此仅供参考.
文档中有一个转大写代码,还有一个菜单代码,(菜单中会出"金额大写"按钮),其中大写代码如下:
'格式合同中是“————元”,故不用考虑元、角、分
Sub xzmje()
Dim tem1, tem2
If IsNumeric(Selection.Text) = True Then
tem3 = Selection.Text
If InStr(Selection.Text, ".") > 0 Then
tem1 = Split(Selection.Text, ".")(0)
tem2 = Split(Selection.Text, ".")(1)
tem2 = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(tem2, "0", "零"), "1", "壹"), "2", "贰"), "3", "叁"), "4", "肆"), "5", "伍"), "6", "陆"), "7", "柒"), "8", "捌"), "9", "玖")
tem2 = "点" & tem2
Selection.Fields.Add Range:=Selection.Range, Text:="= " & tem1 & "\* CHINESENUM2"
Selection = Replace(Replace(Selection & tem2, " ", ""), vbCr, "")
Else
Selection.Fields.Add Range:=Selection.Range, Text:="= " & Selection.Text & "\* CHINESENUM2"
Selection = Replace(Selection, vbCr, "")
End If
End If
End Sub
另外,WORD中使用宏,宏安全性请设为"中"
使用方法:文档中输入数字后,选中数字,点击按钮.
|
|