在EXCEL中将数字转换成中文大写

  • 格式:doc
  • 大小:87.00 KB
  • 文档页数:4

1.打开【工具】——【宏】——【VBA编辑器】
2.【插入】——【模块】
3.在新打开的窗口输入以下代码
4.关闭VBA编辑窗口
5.如果想把A1单元格的数字在A2单无格中转换成金额,可以在A2输入=dx(A1),"dx"
为刚才VBA定义的函数名
6.在A1输入一个数字,便会在A2显示大写金额
代码如下:
Function dx(q)
ybb = Round(q * 100) '将输入的数值扩大100倍,进行四舍五入
y = Int(ybb / 100) '截取出整数部分
j = Int(ybb / 10) - y * 10 '截取出十分位
f = ybb - y * 100 - j * 10 '截取出百分位
zy = Application.WorksheetFunction.Text(y, "[dbnum2]") '将整数部分转为中文大写
zj = Application.WorksheetFunction.Text(j, "[dbnum2]") '将十分位转为中文大写
zf = Application.WorksheetFunction.Text(f, "[dbnum2]") '将百分位转为中文大写
dx = zy & "元" & "整"
d1 = zy & "元"
If f <> 0 And j <> 0 Then
dx = d1 & zj & "角" & zf & "分"
If y = 0 Then
dx = zj & "角" & zf & "分"
End If
End If
If f = 0 And j <> 0 Then
dx = d1 & zj & "角" & "整"
If y = 0 Then
dx = zj & "角" & "整"
End If
End If
If f <> 0 And
如何把EXECL中小写数字转换成中文大写?且要求分位。

悬赏分:30 - 解决时间:2009-2-7 10:04
要分位,可以一个单元格显示一位,且不要“万、仟、佰、拾、角、分”这样的单位。

具体如图所示。

提问者:txhbj - 二级
最佳答案
如图例,数字金额所在位置为P2。

万位公式:=IF(INT($P$2/10000)=0,"×",MID("壹贰叁肆伍陆柒捌玖",INT($P$2/10000),1))
千位:=IF((INT($P$2/1000)-INT($P$2/10000)*10)=0,"×",MID("壹贰叁肆伍陆柒捌玖
",(INT($P$2/1000)-INT($P$2/10000)*10),1))
百位:=IF((INT($P$2/100)-INT($P$2/1000)*10)=0,"×",MID("壹贰叁肆伍陆柒捌玖
",(INT($P$2/100)-INT($P$2/1000)*10),1))
十位:=IF((INT($P$2/10)-INT($P$2/100)*10)=0,"×",MID("壹贰叁肆伍陆柒捌玖
",(INT($P$2/10)-INT($P$2/100)*10),1))
元位=IF((INT($P$2/1)-INT($P$2/10)*10)=0,"×",MID("壹贰叁肆伍陆柒捌玖
",(INT($P$2/1)-INT($P$2/10)*10),1))
角位:=IF((INT($P$2/0.1)-INT($P$2/100)*1)=0,"×",MID("壹贰叁肆伍陆柒捌玖
",(INT($P$2/0.1)-INT($P$2/100)*1),1))
分位:=IF((INT($P$2/0.01)-INT($P$2/100)*0.1)=0,"×",MID("壹贰叁肆伍陆柒捌玖
",(INT($P$2/0.01)-INT($P$2/100)*0.1),1))
函数:
Function rmbb(M)
y = Int(Abs(M))
j = Round(Abs(M) - y, 2)
f = (j * 10 - Int(j * 10)) / 10
a = Application.Text(y, "[DBNum2]")
d = "元"
If j <0.1 Then e = ""Else e = "角" If f <0.01 Then g = "整"Else g = "分" If f <0.01 Then c = ""Else c = Application.Text(Round(f * 100, 0), "[DBNum2]") If j = 0 Then b =
""Else b = Application.Text(Int(j * 10), "[DBNum2]") If M <0 Then z = "负"Else z = "" rmbb = z &a &d &b &e &c &g End Function 1.Execl 中工具〉宏〉Visual Basic编辑器2.右击”bisual basic 编辑器”的”this workbook”,选择插入->模块”,插入一个新模块,接着输入上面的函数. 3.输入后关闭编辑器返回. 4.开始转换单元格内输入”=rmbb(E3)”?? E3是小写地址位。