EXCEL中宏的数字小写转换为中文大写

2025-03-04 21:39:57
推荐回答(4个)
回答1:

1.在A2输入公式=mid("零壹贰叁肆伍陆柒捌玖,a1+1,1)并复制到H2
2.在A3:H3中分别输入:拾、万、仟、佰、拾、元、角、分(即每一位代表的值)
3.A4式=A2&A3&B2&B3&C2&C3&D2&D3&E2&E3&F2&F3&G2&G3&H2&H3

另一方法(VBA编程法)
1.视图-工具栏-控件工具箱,用控件工具箱中按钮,在Excel中建一按钮
2.Alt+F11,将下列程序粘贴后退出设计模式,点击按钮即出结果
Private Sub CommandButton1_Click()
Dim a(8), b(8) As String
For i = 1 To 8
a(i) = Mid("零壹贰叁肆伍陆柒捌玖", Cells(1, i) + 1, 1)
b(i) = Mid("拾万仟佰拾元角分", i, 1)
Next
[a2] = a(1) & b(1) & a(2) & b(2) & a(3) & b(3) & a(4) & b(4) & a(5) & b(5) & a(6) & b(6) & a(7) & b(7) & a(8) & b(8)
End Sub

回答2:

=IF(A5=INT(A5),"¥"&TEXT(A5,"[DBNUM2]")&"元整",IF(INT(A5*10)=A5*10,"¥"&TEXT(INT(A5),"[DBNUM2]")&"元"&TEXT((INT(A5*10)-INT(A5)*10),"[DBNUM2]")&"角整","¥"&TEXT(INT(A5),"[DBNUM2]")&"元"&IF(INT(A5*10)=INT(A5)*10,"零",TEXT(INT(A5*10)-INT(A5)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(ROUND(A5,2),1),"[DBNUM2]")&"分"))

此为公式函数。

公式里的 A5代表单元格。

回答3:

选中这些单元格,点击菜单的“格式”——>"单元格"(或右键,选择“设置单元格格式”),在弹出的窗口中选择“数字”中的“特殊”,选择“中文大写数字”即可实现。

回答4:

Function da(M)
y = Int(Round(100 * Abs(M)) / 100)
j = Round(100 * Abs(M) + 0.00001) - y * 100
f = (j / 10 - Int(j / 10)) * 10
A = IIf(y < 1, "", Application.Text(y, "[DBNum2]") & "元")
b = IIf(j > 9.5, Application.Text(Int(j / 10), "[DBNum2]") & "角", IIf(y < 1, "", IIf(f > 1, "零", "")))
c = IIf(f < 1, "整", Application.Text(Round(f, 0), "[DBNum2]") & "分")
da = IIf(Abs(M) < 0.005, "", IIf(M < 0, "负" & A & b & c, A & b & c))
End Function
此程序为自定义函数程序,与普通的excel内嵌函数用法一样。
按alt加F11打开vba编辑器,新建模块,粘贴上面的代码,保存退出。
例 a1 为1000的话要在a2得到大写 在a2输入=da(a1)即等于壹仟圆整。