當前位置:編程學習大全網 - 源碼下載 - 在Excel2000忠如何將數字轉換成人民幣大寫

在Excel2000忠如何將數字轉換成人民幣大寫

我給妳壹個方法將此復制下來粘貼到Excel單元格內就可以了。

=IF(ROUND(A5,2)<0,"無效數值","人民幣"&IF(ROUND(A5,2)=0,"零元",IF(ROUND(A5,2)<1,"",TEXT(INT(ROUND(A5,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A5,2)*10)-INT(ROUND(A5,2))*10=0,IF(INT(ROUND(A5,2))*(INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A5,2)*10)-INT(ROUND(A5,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10)=0,"整",TEXT((INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10),"[dbnum2]")&"分")))

還有以下方法:Excel將小寫金額轉換成人民幣的大寫金額

1、如何自定義:

打開EXCEL,新建壹個文件Book1,按ALT+F11進入VBA編程環境,選中這個BOOK1文件,插入模塊,將下面的源代碼復制到右邊的模塊代碼區內,然後將此BOOK1保存,保存類型壹定選加載宏,文件名嘛可自由發揮,我就填"中文大寫",確定OK!然後回到EXCEL,工具--加載宏-找到"中文大寫",打勾確定,我們這個自定義函數就可以象內置函數樣使用了!--->=rmbdx(123456.78),爽吧!

2、例子:

A、直接在函數內輸入數值的(請註意參數的用法,默認用法是不用輸入)

=rmbdx(123456.78)--->壹拾貳萬三仟肆佰伍拾陸元柒角捌分

=rmbdx(123456.78,0)--->壹拾貳萬三仟肆佰伍拾陸元柒角捌分

=rmbdx(123456.78,1)--->壹拾貳萬三仟肆佰伍拾陸元柒角捌分

=rmbdx(56.78)--->伍拾陸元柒角捌分

=rmbdx(0.78)--->柒角捌分

=rmbdx(0.784)--->柒角捌分

=rmbdx(0.785,1)--->柒角玖分

=rmbdx(0.02,1)--->貳分

B、引用某單元格數值進行轉換的

假設妳的D3單元格的數據(也可以是求和或其它公式得出的結果)需要轉換,大寫格式放在D4單元格,則D4輸入公式:=rmbdx(d3)即可

C、其它形如=rmbdx(SUM(C4:C6))的也可以,用法象內置函數,請靈活使用

3、源代碼:

Functionrmbdx(value,Optionalm=0)

’中文大寫源代碼,By對面男孩、redwin

’支持負數,支持小數點後的第三位數是否進行四舍五入處理

’默認參數為0,即不將小數點後的第三位數進行四舍五入處理

’2002-10-11--2002-10-13

OnErrorResumeNext

Dima

DimjfAsString’定義角分位

Dimj’定義角位

Dimf’定義分位

Ifvalue<0Then’處理正負數的情況

a="負"

Else

a=""

EndIf

IfIsNumeric(value)=FalseThen’判斷待轉換的value是否為數值

rmbdx="需轉換的內容非數值"

Else

value=Abs(CCur(value))

’當參數m不輸入(默認為0)或為0時,小數點後的第三數不進行四舍五入處理

’當參數m為1或其它數值時,小數點後的第三數進行四舍五入處理

Ifm=0Then

jf=Fix((value-Fix(value))*100)

value=Fix(value)+jf/100

Else’厘位進行四舍五入實踐很少用到,但還是要照顧到

value=Application.WorksheetFunction.Round(value,2)’-->這句是關鍵!只用round有bug

jf=Round((value-Fix(value))*100,0)

EndIf

Ifvalue=0Orvalue=""Then’當待轉換數值為0或空時,不進行轉換

rmbdx=""

Else

strrmbdx=Application.WorksheetFunction.Text(Int(value),"[DBNum2]")&"元"’轉換整數位

IfInt(value)=0Then

strrmbdx=""

EndIf

IfInt(value)<>valueThen

Ifjf>9Then’判斷小數位

j=Left(jf,1)

f=Right(jf,1)

Else

j=0

f=jf

EndIf

Ifj<>0Andf<>0Then’角分位都有時

jf=Application.WorksheetFunction.Text(j,"[DBNum2]")&"角"_

&Application.WorksheetFunction.Text(f,"[DBNum2]")&"分"

Else

’處理出現零幾分的情況

IfInt(value)=0Andj=0Andf<>0Then

jf=Application.WorksheetFunction.Text(f,"[DBNum2]")&"分"

Else

Ifj=0Then’有分無角時

jf="零"&Application.WorksheetFunction.Text(f,"[DBNum2]")&"分"

Else

Iff=0Then’有角無分時

jf=Application.WorksheetFunction.Text(j,"[DBNum2]")&"角整"

EndIf

EndIf

EndIf

EndIf

strrmbdx=strrmbdx&jf’組裝

Else

strrmbdx=strrmbdx&"整"

EndIf

rmbdx=a&strrmbdx’最後成型了,各位MM滿意了吧

EndIf

EndIf

EndFunction

  • 上一篇:我的世界打敗末影龍怎麽快點結束字幕
  • 下一篇:防禦DDoS攻擊的幾種好用的方式
  • copyright 2024編程學習大全網