燕归巢mp3免费下载:在Excel的使用中,数字生成大写数字的快捷办法?

来源:百度文库 编辑:高校问答 时间:2024/05/09 08:44:20
比如,在做涉及金额的合计时,需要小写数字和大写汉字,汉字的输入很麻烦,不知有没有能快速生成汉字的方法或或者命令,请指教。

一、解决问题的思路
在Excel中自定义一个函数,该函数可以将任意数值转换为人民币大写金额。编制该函数代码时我是这样考虑:将输入的数值分为整数、十分位、百分位三个部分,将这几个部分单独转换为[dbnum2] 格式,再根据出现的各种可能和字符“元”、“角”、“分”进行组合。
二、自定义Excel函数
进入Visual Basic 开发环境,选择“插入→模块”,在出现的代码窗口输入如下代码:
Function d(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]")
'将百分位转为中文大写
d = zy & "元"
If f <> 0 And j <> 0 Then
d = d & zj & "角" & zf & "分"
If y = 0 Then
d = zj & "角" & zf & "分"
End If
End If
If f = 0 And j <> 0 Then
d = d & zj & "角"
If y = 0 Then
d = zj & "角"
End If
End If
If f <> 0 And j = 0 Then
d = d & zj & zf & "分"
If y = 0 Then
d = zf & "分"
End If
End If
If q = "" Then
d = 0
'如没有输入任何数值为0
End If
End Function
三、函数的使用
例如要将123.45元转换为人民币大写金额,只需在单元格中输入“=d(123.45)”,再按回车,即转换为“壹佰贰拾叁元肆角伍分”。
为了确保该函数能随时调用,我们需要将上述代码另存为名为“D”,文件类型为“Microsoft Excel 加载宏”的文件,以后在使用时只需点击“工具→加载宏→D→确定”则可。
如果想在另外的电脑上使用该函数,可以将加载宏文件“D”复制到它们的Windows/Application Data/Microsoft/AddIns下,在使用时同样是点击“工具→加载宏→D→确定”。

你可以使用格式让EXCEL显示出来自动转换(注意:实际内容并没有变),步骤如下:
1、输入数字或公式得到阿拉伯数字
2、右击刚刚输入的单元格,选中设置“单元格格式”
3、在分类中选择“特殊”,右边的“类型”中就有中文小写和大字数字,挑你所要的就OK了

另外,如果你是用智能ABC输入法,有快捷方法可以输入中文数字,你可以再问问或者在网上查查,但这个方法应该没办法直接得到千呀万呀什么的了

好使吗?