word VBA解决数字变货币形式

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:41:06
4位数以内,由数字变中文货币形式
我要把4位数字变成中文的货币形式
需要的是中文的习惯
例如 2003 两千零三圆
2030 两千零三十圆
3000 三千圆
45 四十五圆

Sub CurToChr()
Dim str, temp, strout As String
Dim i, t, l, m As Integer
str = Selection.Text
l = 0 '控制千位是否为0
m = 0

i = CInt(str)
t = i \ 1000
i = i Mod 1000

If t <> 0 Then
temp = tochar(t)
strout = temp & "仟"
l = 1 '千位有数
End If

t = i \ 100
i = i Mod 100

If t <> 0 Then
temp = tochar(t)
strout = strout & temp & "佰"
l = 1 '百位有数
End If

If t = 0 And l = 1 Then
m = 1 '百位没数,千位有数
End If

t = i \ 10
i = i Mod 10

If t <> 0 Then
l = 1 '十位有数
temp = tochar(t)
If m = 1 Then
m = 0 'm=0的时候输出0
strout = strout & "零"
End If
strout = strout & temp & "拾"
End If

If t =

如A1为数据,在B1中输入下列公式
=IF(A1<0,"负","")&IF(TRUNC(ROUND(A1,2))=0,"",TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"圆")&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),"[DBNum2]"))&"角"&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROUND(A1,2)),"[DBNum2]")&"","")&"分"