修改 Excel - SpellNumber 問題?

2011-10-14 11:15 pm
原先我在網上尋找數字轉文字的方法, 便找到了如果增加SpellNumber這個函數, 但好像主要用作會計的銀碼, 但實際上我是想應用在一般船務的文件上, 而我又完全不會Visual Basic, 看著當中的一堆文字發呆, 之後開始有點概念, 所以就嘗試把Dollars改為Cartons, 試一試改當中的文字是不是效果一樣, 最後亂打亂撞的改到這樣.

例如在Excel中C欄是Carton No., 而最後一箱貨的No.是10, 而Total的一格我就輸入了=SpellNumber(MAX(C:C))就出現 Ten Cartons Only., 都很接近我想要的, 有點安慰.

現在問題來了, 其實我最終想在Total出現的內容是 Ten (10) Cartons Only., 不知應該怎樣再修改SpellNumber的內容才能有這效果, 或是應該應用其他函數呢?

煩請各位幫幫忙, 謝謝 ^^

回答 (3)

2011-10-15 4:22 am
✔ 最佳答案
那個 SpellNumber 函數, 應該是你在網上爬文, 於 VBE 自建的 Function, 是不是?

2011-10-14 20:22:36 補充:
呢個問題, 或者改公式對你嚟講簡單啲...

=LEFT(SpellNumber(MAX(C:C)),FIND("Carton",SpellNumber(MAX(C:C)))-1)&"("&MAX(C:C)&") "&MID(SpellNumber(MAX(C:C)),FIND("Carton",SpellNumber(MAX(C:C))),20)

有問題再問~
2011-10-15 8:47 am
方法一, 更改vba的code, 致完全達到要求, 並將Function Name改名
方法二, 如能力無法完成方法一, 建議完全不要更改任何code, 改為用公式修正
=SUBSTITUTE(SUBSTITUTE(SpellNumber(MAX(C:C)),"Dollar"," ("&MAX(C:C)&")"&" Carton"),"and No Cents","Only")
方法三, 笨方法, 不用VBA

2011-10-15 00:54:23 補充:
笨方法:
由於箱數不比金額, 數值有限及不會帶小數, 可考慮用輔助欄
設一工作表作輔助, 假設是Sheet2
在Sheet2的A1輸入One, A2輸入Two....依此類推...A100輸入One Hundred
公式是:
=INDEX(Sheet2!A:A,MAX(C:C))&TEXT(MAX(C:C)," (0) Ca\\rto\\n"&IF(MAX(C:C)>1,"\\s","")&" O\\nl\\y")
2011-10-15 3:58 am
嗯....上網找到一個網站有說到這個, 我便跟他的意思把內容copy到VBA, 之後再改內容, 那有沒有辨法可以加到(10)上去呢?

2011-10-18 17:02:53 補充:
Yeah, 方法二係得左 ^^ Thank you so much ^^


收錄日期: 2021-04-16 13:36:24
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20111014000051KK00292

檢視 Wayback Machine 備份