liangbj0309
2005-04-26, 09:55 PM
excel中.有沒有方式將.us253.69轉換成"貳佰伍拾參元陸角玖分整"呢?
搜尋了excel及貨幣格式(39頁)
均無所穫
期望各位大哥不吝賜教
謝謝!! :)
贊助商連結
搜尋了excel及貨幣格式(39頁)
均無所穫
期望各位大哥不吝賜教
謝謝!! :)
贊助商連結
贊助商連結 liangbj0309 2005-04-26, 09:55 PM excel中.有沒有方式將.us253.69轉換成"貳佰伍拾參元陸角玖分整"呢? 搜尋了excel及貨幣格式(39頁) 均無所穫 期望各位大哥不吝賜教 謝謝!! :) 贊助商連結 antion 2005-04-26, 10:48 PM 請您參考下列[數字]轉換為[國字]的方法,自行修改成您所需要的格式。 [儲存格格式]設為[自訂]---[DBNum2][$-404]" 新台幣 "G/通用格式"元 整" 12345 ---> 新台幣 壹萬貳仟參佰肆拾伍元 整 [儲存格格式]設為[自訂]---"NT$ "#,##0" 元" 12345 ---> NT$ 12,345 元 liangbj0309 2005-04-27, 12:04 PM 謝謝您,待會試試 gregchen 2005-05-21, 11:04 AM 以上的可以用啊。 但不知如何才能自動去掉中文金額中的「零」字,如1005元整-->壹仟(零)伍元整,或20080元整-->貳萬(零)捌拾元整。謝謝。 antion 2005-05-21, 12:16 PM 1. 去掉「零」就非正確的大寫國字數字,金融機構可能會「退票」喔!所以不能省。 2. 若有其他用途,非去掉「零」不可,可用字串比對的方法,並將「零」刪除即可。 antion 2005-05-21, 12:35 PM 以下是小弟以前寫CLIPPER程式時的「函數」,目前已修改套用在ACCESS程式模組,方法不是很好但是可以使用,您可參考利用。 ' 語法 : Cha(<expN>) ' 用途 : 數字金額<expN>轉換為中文金額 (發票) Public Function Cha(A) Dim B, C, TMA, CHINA, TMB, TMC, TM Dim K(8) TMA = Trim(Str(A)) C = Len(TMA) Select Case C Case Is = 1 K(1) = "元" Case Is = 2 K(2) = "元" K(1) = "拾" Case Is = 3 K(3) = "元" K(2) = "拾" K(1) = "佰" Case Is = 4 K(4) = "元" K(3) = "拾" K(2) = "佰" K(1) = "仟" Case Is = 5 K(5) = "元" K(4) = "拾" K(3) = "佰" K(2) = "仟" K(1) = "萬" Case Is = 6 K(6) = "元" K(5) = "拾" K(4) = "佰" K(3) = "仟" K(2) = "萬" K(1) = "拾萬" Case Is = 7 K(7) = "元" K(6) = "拾" K(5) = "佰" K(4) = "仟" K(3) = "萬" K(2) = "拾萬" K(1) = "佰萬" Case Is = 8 K(8) = "元" K(7) = "拾" K(6) = "佰" K(5) = "仟" K(4) = "萬" K(3) = "拾萬" K(2) = "佰萬" K(1) = "仟萬" End Select For B = 1 To C TMC = Noch(Mid(TMA, B, 1)) CHINA = CHINA & " " & TMC & " " & K(B) Next B Cha = CHINA & "整" End Function ' 語法 : StrZero(<數值>,<長度>) ' 用途 : 將一數值字串化並在數值之開頭空白處以"0"來取代 Function StrZero(A, B) Dim C, D, E C = Trim(Str(A)) D = "" For E = 1 To B - Len(A) D = D + "0" Next E StrZero = D + C End Function ' 語法 : StrSpace(<數值>,<長度>) ' 用途 : 將一數值字串化並在數值之開頭空白處以" "來取代 Function StrSpace(A, B) Dim C, D, E C = Trim(Str(A)) D = "" For E = 1 To B - Len(A) D = D + " " Next E StrSpace = D + C End Function ' 語法 : Chnt(<expN>) ' 用途 : 數字金額<expN>轉換為中文金額 Function Chnt(A) Dim B, C, D B = "元" If A > 99999999 Or A <= 0 Then B = "零" + B Else C = StrSpace(A, 8) If Mid(C, 8, 1) <> "0" Then B = Noch(Mid(C, 8, 1)) + B End If If Mid(C, 7, 1) <> " " Then If Mid(C, 7, 1) <> "0" Then B = Noch(Mid(C, 7, 1)) + "拾" + B ElseIf Left(Trim(B), 1) <> "元" Then B = "零" + B End If End If If Mid(C, 6, 1) <> " " Then If Mid(C, 6, 1) <> "0" Then B = Noch(Mid(C, 6, 1)) + "佰" + B ElseIf Left(Trim(B), 2) = "元" Then ElseIf Left(Trim(B), 1) <> "零" Then B = "零" + B End If End If If Mid(C, 5, 1) <> " " Then If Mid(C, 5, 1) <> "0" Then B = Noch(Mid(C, 5, 1)) + "仟" + B ElseIf Left(Trim(B), 1) = "元" Then ElseIf Left(Trim(B), 1) <> "零" Then B = "零" + B End If End If If Mid(C, 4, 1) <> " " Then B = "萬" + B If Mid(C, 4, 1) <> "0" Then B = Noch(Mid(C, 4, 1)) + B End If End If If Mid(C, 3, 1) <> " " Then If Mid(C, 3, 1) <> "0" Then B = Noch(Mid(C, 3, 1)) + "拾" + B ElseIf Left(Trim(B), 1) = "萬" Then ElseIf Left(Trim(B), 1) <> "零" Then B = "零" + B End If End If If Mid(C, 2, 1) <> " " Then If Mid(C, 2, 1) <> "0" Then B = Noch(Mid(C, 2, 1)) + "佰" + B ElseIf Left(Trim(B), 1) = "萬" Then ElseIf Left(Trim(B), 1) <> "零" Then B = "零" + B End If End If If Mid(C, 1, 1) <> " " Then If Mid(C, 1, 1) <> "0" Then B = Noch(Mid(C, 1, 1)) + "仟" + B End If End If End If Chnt = " 新台幣 " + B + " 整" End Function ' 語法 : Noch(<expC>) ' 用途 : 數字字串<expC>轉換為中文 (報表) Function Noch(A) If A = "0" Then Noch = "零" ElseIf A = "1" Then Noch = "壹" ElseIf A = "2" Then Noch = "貳" ElseIf A = "3" Then Noch = "參" ElseIf A = "4" Then Noch = "肆" ElseIf A = "5" Then Noch = "伍" ElseIf A = "6" Then Noch = "陸" ElseIf A = "7" Then Noch = "柒" ElseIf A = "8" Then Noch = "捌" ElseIf A = "9" Then Noch = "玖" End If End Function ' 語法 : StrDate(<日期>) ' 用途 : 將電腦日期字串化 (例:StrDate(2000/8/12) = "2000.08.12") Function StrDate(A) StrDate = Str(Val(Format(A, "yyyymmdd")) * 100 + 1) End Function gregchen 2005-05-30, 02:51 PM 1. 去掉「零」就非正確的大寫國字數字,金融機構可能會「退票」喔!所以不能省。 2. 若有其他用途,非去掉「零」不可,可用字串比對的方法,並將「零」刪除即可。 可是現在支票機打出來的都沒有「零」,有「零」反而奇怪,並不會被「退票」,因為我常在開。 下一則的方法離我太遠了,不過還是很感謝。 |
|