用函数实现货币大写转换

数字办公

对于财会人员来说,在工作中经常会遇到人民币金额小写转换成大写的问题,由于在Excel中没有现成的函数可用,人们一般是使用复杂的嵌套函数来完成这个工作。怎样才能迅速地完成人民币金额的大写转换工作呢?还是使用自定义函数比较好,这样完成人民币金额大写转换的工作时,操作就简单多了。

先打开某个需要执行人民币金额大写转换的工作簿,然后单击菜单“工具→宏→Visual Basic 编辑器”命令,调出“Visual Basic 编辑器”,在“Visual Basic 编辑器”窗口中右击“ThisWorkbook”选项,选择“插入→模块”命令,接着在打开的代码窗口中输入以下代码:

Function dx(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 = Appl

ication.Text(Round(f * 100, 0), "[DBNu

m2]")

If j = 0 Then b = "" Else b = Applica

tion.Text(Int(j * 10), "[DBNum2]")

If M < 0 Then z = "负" Else z = ""

dx = z & a & d & b & e & c & g

End Function

代码输入完毕后,退出“Visual Basic 编辑器”窗口,这时所输入的代码就会自动保存。

经过上述步骤的操作,我们就已经自定义了一个人民币金额大写转换的函数——dx。在窗口中,如果要将F列单元格小写的人民币金额转换成大写并输入与之对应的G列单元格中,可先在G3单元格中输入函数=dx(F3),再按下回车键,然后选中G3单元格,拖动填充手柄往下填充,直到完成F列单元格所有人民币小写金额转换成大写金额的工作即可。

小提示:如果经常执行人民币金额的大写转换操作,可在窗口中(已添加了自定义函数dx),先单击菜单“文件→另存为”命令,打开“另存为”对话框,将“商品销售统计表.xls”另存为Excel加载宏,文件名为“人民币金额大写转换.xla”,保存到“另存为”对话框定位到的文件夹下即可。

以后要使用的时候,单击菜单“工具→加载宏”命令,打开“加载宏”对话框并勾选“人民币金额大写转换”复选框,最后单击“确定”按钮。这样,我们打开任何一个工作簿,都可以像使用Excel内置的函数一样,使用自定义函数dx来完成人民币金额的大写转换工作了。

本文提到的“加载宏”文件可以在http://www.shudoo.com/bzsoft下载。