我是搞财务的,在EXCEL中经常要用到小写转大写的公式。如果A1是小写,A2显示大写,则A2需要输入
=IF(A1="","",IF(ROUND(A1,2)<1,"",TEXT(INT(ROUND(A1,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10=0,IF(INT(ROUND(A1,2))*(INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"整",TEXT((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10),"[dbnum2]")&"分"))
由上面公式可以看出,这个公式太长,输入容易出错。为了简化,我想自定义一个函数daxie(a),我在VB编辑器中初步设想如下图
可是在试验时不成功。说是Text 没有定义,请大侠帮我解决一下。
两位高手的代码我照搬照套用了,感觉都很好,可惜只能只能采纳一个最满意的答案。经过对比,从我个人适用上,觉得beau131000给的代码比较好。就采纳beau131000的了,也非常感谢caulen,只是不知道caulen的代码在数据较大时会出现问题。
给你一个宏代码
你好,我套用了你的代码,很不错。
可是数字大于32766时就出现错误,这是为什么呢?
还有前面的声名我不懂:
Function daxie(num#) As String
If num 0 Then
Dim a#, zs%, x1%, x2%
Dim s$
特别是#、%、$这几个符号是什么意思?请你给我讲解透一点,非常感谢