竭诚为您提供优质文档/双击可除
excel表格金额大小写转换
篇一:excel表中小写金额直接转换成大写金额的公式
excel表中小写金额直接转换成大写金额的公式:一、
=iF(oR(a1 三、
用公式就可以,我不懂做会计的如何用大写表示如
128.40这样的角
不为0但分为0的值,是“壹佰贰拾捌元肆角整”还是
“壹佰贰拾捌元肆角”?
如果是“壹佰贰拾捌元肆角”,请用这个公式:
=text(int(b2),"[dbnum2]"),text((int(c10*100)-int(c1
0*10)*10),"[dbnum2]")nascurrency
constcnumasstring="零壹贰叁肆伍陆柒捌玖-万仟佰
拾亿仟佰拾万仟佰拾元角分"
constcchaasstring="零仟零佰零拾零零零零零亿零万
零元亿万零角零分零整-零零零零零亿万元亿零整整"
dimsnumasstring
dimiaslong
第1 页共7 页
if(n0)and(abs(n)
snum=trim(str(int(abs(n)*100)))
Fori=1tolen(snum)逐位转换
baituRmbdx=baituRmbdx+mid(cnum,(mid(snum,i,1))+1,1)
+mid(cnum,26-len(snum)+i,1)
next
Fori=0to11去掉多余的零
baituRmbdx=Replace(baituRmbdx,mid(ccha,i*2+1,2),mid
(ccha,i+26,
1))
next
ifn else
baituRmbdx=iif(n=0,"零元","溢出")
endif
endFunction
11
Functionuppernum(n)nassingle数字大写函数
ifn 正负判断="负"
n=-n
endif
第2 页共7 页
n=n+0.0001
ifint(n*1000)-int(n*100)*10>4then
n=(int(n*100)+1)/100+0.001
else
n=int(n*100)/100+0.001
endif
selectcasen
caseis>9999999999999.99
uppernum="数据不符"
msgbox"金额不能大于9999999999999.99!
",vbokonly,"出错提示"caseelse
constcnum="零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰
拾万仟佰拾元角分"
constccha="零仟零佰零拾零零零零零亿零万零元亿万
零角零分零整-零零零零零亿万元亿零整整"
uppernum=""
snum=""
s=trim(str(n))
Fori=1tolen(s)-1
ifmid(s,i,1)"."thensnum=snum+mid(s,i,1)
nexti
Fori=1tolen(snum)逐位转换
第3 页共7 页
uppernum=uppernum+mid(cnum,(mid(snum,i,1))+1,1)+mid
(cnum,26-len(snum)+i,1)
nexti
Fori=0to11去掉多余的零
uppernum=Replace(uppernum,mid(ccha,i*2+1,2),mid(cch
a,i+26,1))nexti
endselect
if正负判断="负"thenuppernum="负"&uppernum
endFunction
12
Functionjezh(xasRange)
ifx>=1then
ifint(x)=xorRound(x,2)=int(x)then
jezh=application.worksheetFunction.text(int(x),"[db
num2]")&"元"
elseifint(x*10)=x*10orint(x*10)=Round(x,2)*10then
jezh=application.worksheetFunction.text(int(x),"[db
第4 页共7 页

