Excel数字秒变人民币大写?这个神级函数你必须知道!
哈喽大家好,我是你们的老朋友,Excel达人小王。最近啊,有个朋友急吼吼地跑来问我:“小王,月底了要报销,财务非要数字报销单改成大写,几千张表啊,一个个手打,我都要疯了!”
说实话,听完我差点一口老血喷出来。都2024年了,还有人这么干?这也太原始了吧!今天我就跟大家分享一个Excel神级函数,分分钟把数字变成人民币大写,让你告别手打,效率翻倍!
这个函数,其实不是一个函数,而是一段自定义代码。别害怕,听起来好像很复杂,但操作起来简单到爆,保证你一看就会!
第一步:打开你的Excel,按下 Alt + F11
这一步会打开VBA编辑器,别慌,这只是一个工具,用来存放我们的代码。
第二步:在VBA编辑器中,插入一个模块
具体操作是:在VBA编辑器左侧的“工程”窗口(如果没看到,按下Ctrl+R),找到你的工作簿(一般是“VBAProject (你的工作簿名称)”),右键单击,选择“插入” -> “模块”。
第三步:复制粘贴以下代码到模块中
“`vba
Function DX(M)
Dim i, Temp
Dim Jiao, Fen
Dim Flag
If Trim(M) = "" Then
DX = ""
Exit Function
End If
Flag = False
If M < 0 Then
Flag = True
M = Abs(M)
End If
i = Int(M)
Jiao = Round((M - i) * 10, 0)
Fen = Round(((M - i) * 10 - Jiao) * 10, 0)
If Fen > 0 Then
Temp = "元" & Application.WorksheetFunction.Text(Jiao, "[DBNum2]") & "角" & Application.WorksheetFunction.Text(Fen, "[DBNum2]") & "分"
ElseIf Jiao > 0 Then
Temp = "元" & Application.WorksheetFunction.Text(Jiao, "[DBNum2]") & "角整"
Else
Temp = "元整"
End If
DX = Application.WorksheetFunction.Text(i, "[DBNum2]") & Temp
If Flag Then
DX = "负" & DX
End If
DX = Replace(DX, "零元", "")
DX = Replace(DX, "零角", "零")
DX = Replace(DX, "零分", "零")
DX = Replace(DX, "零零", "零")
DX = Replace(DX, "零零", "零")
DX = Replace(DX, "零整", "整")
DX = Replace(DX, "零元", "元")
End Function
“`
这段代码就是我们今天的主角,它定义了一个名为DX
的函数,专门用来把数字转换成人民币大写。
第四步:关闭VBA编辑器,回到你的Excel工作表
现在,你就可以像使用其他Excel函数一样使用DX
函数了。
第五步:在单元格中输入公式 =DX(你的数字所在单元格)
比如,你的数字在A1单元格,就在你想显示大写金额的单元格输入=DX(A1)
,然后回车,奇迹就发生了!A1单元格里的数字,瞬间变成了标准的人民币大写金额。
是不是超级简单?
注意事项:
-
如果你的Excel版本比较老,可能需要启用宏。具体方法是:打开Excel,点击“文件” -> “选项” -> “信任中心” -> “信任中心设置” -> “宏设置”,选择“启用所有宏”,然后重启Excel。
-
如果你的Excel提示“名称冲突”,可能是因为你之前已经定义过同名的函数。解决方法是:在VBA编辑器中,修改函数名称(比如改成
DX_人民币
),然后在Excel公式中也相应地修改。
掌握了这个神级函数,以后再也不用为了报销单上的大写金额而烦恼了!快去试试吧,相信我,你会爱上它的!
最后,希望今天的分享对你有所帮助。记住,Excel的世界里,永远有惊喜等着你去发现!下次再见!
发表回复