Đổi số ra chữ (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thehungqnu

Thành viên mới
Tham gia
12/10/07
Bài viết
35
Được thích
16
Các bạn có thể cho minh đoạn VB đổi số sang chữ 3 số VD 275 thành Hai bảy lăm
 
ongtrungducmx25 đã viết:
mình gởi thêm cho bạn bản unicode nhé
Rất cám ơn ongtrungduc, addin của bạn chạy rất tốt, bạn có thể upload một addin khác đồi số thành chử unicode bằng tiếng Anh không, rất cám ơn sự chia sẽ ừng dụng của bạn
 
Upvote 0
có chứ bạn xem file này nhé
PHP:
 http://www.giaiphapexcel.com/forum/showthread.php?t=435
 
Upvote 0
bạn gõ vào là =vnduni(852394) sau đó là ok hoặc =vnduni(A1) thì ok là nó tu chuyển đổi thế là xong nhé chúc bạn thành công
 
Upvote 0
Hỏi hàm!

Hiện mình đan gmuốn chuyển số sang chữ trong excel nhưng mà khi Font chữ của mình nó hiển thị lên không được! giúp mình với?
 
Upvote 0
Mỗi tiện ích có một hàm tự tạo dùng cho một loại font nhất định, bạn chọn font trong ô (hoặc bảng tính) cho phù hợp là được.
 
Upvote 0
Đổi số ra chữ.

Rất cảm ơn bạn "ongtrungducmx25" về add-in này. mình đã thử sử dụng khá tốt, nhưng mình gặp một trục trặc nhỏ (không biết những người khác có bị giống mình không nữa) khi mình nhập số : 4568712541 thì nó ra kết quả là : "Bốn tĐ năm trăm sáu mươi tám triệu bẩy trăm mười hai ngàn năm trăm bốn mươi mốt đồng chẵn" !$@!! mong bạn xem lại và chỉ giáo thêm cho mình nhé. Cảm ơn bạn nhiều.}}}}}
 
Upvote 0
ongtrungducmx25 đã viết:
bạn gõ vào là =vnduni(852394) sau đó là ok hoặc =vnduni(A1) thì ok là nó tu chuyển đổi thế là xong nhé chúc bạn thành công
Mình làm đúng như vậy nhưng không chuyển ra chữ được. Mình đang sử dụng Office 2003. Làm sao bây giờ?-\\/.
 
Upvote 0
Xin chào!
Mình dùng thử addins này thấy rất tiện ích nhưng khi đổi số có giá trị lớn hơn giá trị tỷ thì lại lỗi font, hiện lên chữ tĐ. Có cách nào khắc phục không chỉ giúp mình với nhé.
Cảm ơm nhiều!
 
Upvote 0
khanhnqfast đã viết:
Cách sử dụng như thế nào bạn ơi. Mình chưa sử dụng bao giờ cả
Đây là 1 add-ins, nó sẽ tạo thêm hàm trong excel, theo như add-ins của ongtrungducmx25 thì sẽ thêm hàm là vnduni(), khi dùng hàm này nó sẽ đổi số ra chữ, đại loại là thế hy vọng bạn hiểu --=0 , các bước bạn cần làm :
  1. Tải add-ins về để vào 1 chỗ nào đó trong máy bạn.
  2. Giải nén sẽ có 1 file có đuôi là .xla
  3. Mở excel, Menu Tools/add-ins hiện bảng add-ins.
  4. Nhấn Browse mở đường dẫn đến chọn file add-ins lúc nãy. OK
  5. OK ở bảng add-ins để hoàn tất.
Bây giờ excel máy bạn đã có hàm vnduni(), bạn sử dụng như các hàm excel khác.
Thí dụ tại 1 cell nào đó bạn gõ =vnduni(A1), nó sẽ chuyển số ở A1 ra chữ tiếng việt cho bạn, hoặc =vnduni(456) nó sẽ ra "bốn trăm năm mươi sáu đồng chẵn" . Chúc bạn thực hiện thành công--=0
 
Upvote 0
Nguyên văn bởi tienbts
khi đổi số có giá trị lớn hơn giá trị tỷ thì lại lỗi font, hiện lên chữ tĐ. Có cách nào khắc phục không chỉ giúp mình với nhé.
Mình đã chỉnh cái AddIn trên. Các bạn dùng thử xem.
 

File đính kèm

Upvote 0
Đổi số ra chữ.

Gửi tặng bạn AddIns này nhé! (Sử dụng hàm Vni-).
  1. Tải file "trandinhlong" về máy của bạn rồi giải nén, bạn được file có đuôi xla.
  2. Mở excel, Menu Tools/add-ins hiện bảng add-ins.
  3. Nhấn Browse mở đường dẫn đến chọn file trandinhlong.xla lúc nãy, bấm OK.
  4. Bạn kích đúp vào file "trandinhlong" trong hộp thọai Add-Ins để kích hoạt nó sau đó nhấn OK để hoàn tất.
Bây giờ excel máy bạn đã có hàm longtt(), bạn sử dụng như các hàm excel khác.
Thí dụ tại 1 cell nào đó bạn gõ =longtt(A1), nó sẽ chuyển số ở A1 ra chữ tiếng việt cho bạn, hoặc =longtt(66655) nó sẽ ra "sáu mươi sáu ngàn sáu trăn năm lăm đồng chẵn" .
Vì thời gian ít wá, nên khó tránh sai sót mong bạn thông cảm. Bạn cũng có thể tự sửa nếu thấy sai lỗi chính tả bằng cách:
1. Mở excel, Menu Tools/macro/Visual Basic Editor
2. Hộp thoại Microsoft Visual Basic xuất hiện. Ở đây bạn tha hồ sửa theo ý bạn (từ tên hàm cho tới các lỗi chính tả nếu có). Bây giờ bạn thấy wá đơn giản phải không?
Chào thân ái!+-+-+-+
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Hàm đọc số trên diễn đàn có nhiều. Ngoài việc phải chọn hàm cho phù hợp với bảng mã sử dụng, còn có một số đặc thù riêng như:
1. Cách đọc "linh", "lẻ" chưa thống nhất.
2. Có viết hoa ký tự đầu hay không ( Một ngàn, một ngàn)
Tôi đã có viết hàm đọc số cho 3 font thông dụng là VNI, ABC, Unicode. Nay gom lại thành 1 hàm DocSoVn phục vụ chung cho 3 bảng mã. Hàm cho phép các bạn tự chọn cách đọc "linh", "lẻ" hay một từ khác thay thế "linh" "lẻ" theo yêu cầu và chọn có viết hoa ký tự đầu hay không.
Cú pháp:
docsovn( ô chứa số , linhlẻ , hoa )
ô chứa số: địa chỉ ô chứa số (bắt buộc nhập)
linhlẻ: nhập chuỗi cách đọc "linh", "lẻ", ... Ngầm định "linh (không bắt buộc)
hoa: viết hoa ký tự đầu tiên:0 (ngầm định)
____ không viết hoa ký tự đầu tiên:1 (không bắt buộc)
Chú ý hàm này phân biệt bảng mã dự vào 3 ký tự đầu tiên của tên font nên đối số đầu tiên ô chứa số phải là địa chỉ ô chứ không nhập số !
Ví dụ: ô A1 có số 1001, ô A2 nhập:
docsovn(A1) > Một ngàn linh một
docsovn(A1,"lẻ") > Một ngàn lẻ một
docsovn(A1,"lẻ";1) > một ngàn lẻ một
 

File đính kèm

Upvote 0
Cho mình hỏi tí nhe.
Mình đã save file vnd.rar và giải nén rồi nhung sao mở không được. Giúp mình với.
Thank!
 
Upvote 0
Sao không được vậy

Mình download vnn về nhưng không thể nào đọc được,câc bạn có cách gì không giúp mình với.@$@!^%
 
Upvote 0
Không biết mình đọc code vầy có đúng ý bạn không nữa. Nhưng code này sai ở chổ SelectCase đó.
Mã:
Function danvnd(ByVal NumCurrency As Currency) As String If NumCurrency = 0 Then danvnd = "Kh«ng ®óng" Exit Function End If If NumCurrency > 922337203685477# Then ' S? l?n nh?t c?a lo?i CURRENCY danvnd = "Không d?i du?c s? l?n hon 922,337,203,685,477" Exit Function End If '------------------------------------------------- Static CharVND(9) As String, BangChu As String, I As Integer Dim SoLe, SoDoi As Integer, PhanChan, Ten As String CharVND(1) = "mét" CharVND(2) = "hai" CharVND(3) = "ba" CharVND(4) = "bèn" CharVND(5) = "n¨m" CharVND(6) = "s¸u" CharVND(7) = "bÈy" CharVND(8) = "t¸m" CharVND(9) = "chÝn" '------------------------------------------------- SoLe = Int((NumCurrency - Int(NumCurrency)) * 100) '2 kí s? l?I = 1 PhanChan = Trim$(Str$(Int(NumCurrency))) While Len(PhanChan) > 0 [SIZE=4][COLOR=red][B]SelectCase[/B][/COLOR][/SIZE] I Case 1 ' DongDong = Val(Right$(PhanChan, 3)) PhanChan = Left$(PhanChan, Len(PhanChan) - Len(Trim$(Str$(Dong)))) Case 2 ' NganNgan = Val(Right$(PhanChan, 3)) PhanChan = Left$(PhanChan, Len(PhanChan) - Len(Trim$(Str$(Ngan)))) Case 3 ' TrieuTrieu = Val(Right$(PhanChan, 3)) PhanChan = Left$(PhanChan, Len(PhanChan) - Len(Trim$(Str$(Trieu)))) Case 4 ' TyTy = Val(Right$(PhanChan, 3)) PhanChan = Left$(PhanChan, Len(PhanChan) - Len(Trim$(Str$(Ty)))) Case 5 ' Ngan TyNganTy = Val(Right$(PhanChan, 3)) PhanChan = Left$(PhanChan, Len(PhanChan) - Len(Trim$(Str$(NganTy)))) End Select I = I + 1 Wend If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then BangChu = "Kh«ng ®óng " I = 5 Else BangChu = "" I = 0 End If While I End Function
Bạn muốn gửi code lên diễn đàn thì nhớ đặt code vào trong cặp ['CODE][/code] hoặc cặp ['PHP][/php], nhớ bỏ dấu (') đi.
 
Lần chỉnh sửa cuối:
Upvote 0
Hiện nay em đang làm kế toán và phải làm nhiều bảng kê bằng Excel, nhiều khi do sơ suất đọc nhầm số vì vậy em muốn anh chị hãy cho em biết có tiện ích nào đọc số thành chữ thật tốt.
có thể đọc như sau: 4012.46 thành Bốn nghìn không trăm mười hai phảy bốn mươi sáu.
Em xin chân thành cảm ơn sự giúp đỡ của tất cả các anh chị!
 
Upvote 0
Gửi tặng bạn. File này của DieuNT mình thấy dùng rất hay. Bạn dùng thử nhé.
 

File đính kèm

Upvote 0
Hiện nay em đang làm kế toán và phải làm nhiều bảng kê bằng Excel, nhiều khi do sơ suất đọc nhầm số vì vậy em muốn anh chị hãy cho em biết có tiện ích nào đọc số thành chữ thật tốt.
có thể đọc như sau: 4012.46 thành Bốn nghìn không trăm mười hai phảy bốn mươi sáu.
Em xin chân thành cảm ơn sự giúp đỡ của tất cả các anh chị!
Mình đã có sẵn hàm đọc số ra chữ rất tốt, nếu bạn cần, mình sẽ gởi cho và chỉ cho cach sử dụng. Rất tiện lợi vì trong công việc thường quên sửa đoạn "Bằng chữ:....", nhất là khi đưa cho xếp ký rồi, phát hiện ra, phải làm và xin ký lại thì rất khó chịu! Liên hệ dinhleqn@yahoo.com
 
Upvote 0
Cảm ơn moi nguời nhé
Có hàm đổi số ra chữ này công việc của mình đn giản hơn rất nhiêù.
Nhưng mình muốn hoi chút nữa nếu mình dùng font TCVN thì sao nhỉ. Vì khi tải xong mình chỉ dùng được font Unicode thôi. Đồng chí nào biết chỉ giúp với nhé
 
Upvote 0
Cách đổi số ra chữ

Tôi mới tập làm đổi số trong EXCEl nhưng số 9 nó lại biến thành chữ số "chưn" tôi làm mãi mà không sao sửa được chữ đó vậy anh chị em nào biết chỉ dùm tôi với . Tôi xin cảm ơn rất nhiều
 
Upvote 0
Mình cũng đã vào đó lấy về chạy thử nhưng số 9 nó viết thành " chớn" và số 6 nó viết thành "sỏu" vậy bây giờ phải làm thế nào để nó trở thành 9 " chín" 6 thành "sáu"

Mình đã chép đoạn mã của các bạn cho vào Modul nhưng nó vẫn cứ số 9 nó biến thành "chưn". rồi mình lại tải phần XL Vn Tools của DieuNT nó lại có 3 số đó là số 6 thành "sỏu" số 8 thành " tỏm" số 9 thành " chỏn" vậy ai biết cách khắc phục tình trạng này được không xin chỉ dùm tôi với?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Các bác có chương trình nào đổi số kể cả số thập phân sang chữ không cho em xin với
 
Upvote 0
Đây là một softwear bằng macro for Excel. Tiện ích của nó là đổi số thành chữ gồm 2 hàm:
=DoisoV(số cần đổi) - kết quả cho đọc số ra Tiếng Việt
Vd: =DoisoV(123456): (Bằng chữ: một trăm hai mươi ba ngàn, bốn trăm năm mươi sáu đồng)
=DoisoE(số cần đổi) - kết quả cho đọc số ra Tiếng Anh
Vd: =DoisoE(123456): (Says: one hundred twenty-three thousand, four hundred fifty-six.)


HDSD: Để hai hàm đổi số trên hoạt động như một hàm của excel (ví dụ tương tự như hàm cos(), sin(), sum()) bạn làm tuần tự theo các bước sau:
1. Mở file excel vừa được dowload về
2. Save as thành file Add-Ins (đây là định dạng xla, nằm cuối cùng trong type của excel) thành một tên bất kì nào đó. Ví dụ là: doiso.xla
3. Vào menu: Tools\Add-Ins; bảng thông số Add-Ins hiện ra. Bạn click vào button "Browse..." Chọn file doiso.xla vừa save as. Lúc này trong bảng Add-Ins có thêm mục chọn với tên: doiso. Bạn lựa chọn nó bằng cách đánh dấu. Click vào Ok.
Từ lúc này trở đi trong Microsoft Excel của bạn có thêm 2 hàm đổi số thành chữ ở trên.
Đây là phần mềm free nên mong được mọi người hưởng ứng và đóng góp ý kiến, sáng kiến trên diễn đàn này.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Đây là một softwear bằng macro for Excel. Tiện ích của nó là đổi số thành chữ gồm 2 hàm:
=DoisoV(số cần đổi) - kết quả cho đọc số ra Tiếng Việt
Vd: =DoisoV(123456): (Bằng chữ: một trăm hai mươi ba ngàn, bốn trăm năm mươi sáu đồng)
=DoisoE(số cần đổi) - kết quả cho đọc số ra Tiếng Anh
Vd: =DoisoE(123456): (Says: one hundred twenty-three thousand, four hundred fifty-six.)

HDSD: Để hai hàm đổi số trên hoạt động như một hàm của excel (ví dụ tương tự như hàm cos(), sin(), sum()) bạn làm tuần tự theo các bước sau:
1. Mở file excel vừa được dowload về
2. Save as thành file Add-Ins (đây là định dạng xla, nằm cuối cùng trong type của excel) thành một tên bất kì nào đó. Ví dụ là: doiso.xla
3. Vào menu: Tools\Add-Ins; bảng thông số Add-Ins hiện ra. Bạn click vào button "Browse..." Chọn file doiso.xla vừa save as. Lúc này trong bảng Add-Ins có thêm mục chọn với tên: doiso. Bạn lựa chọn nó bằng cách đánh dấu. Click vào Ok.
Từ lúc này trở đi trong Microsoft Excel của bạn có thêm 2 hàm đổi số thành chữ ở trên.
Đây là phần mềm free nên mong được mọi người hưởng ứng và đóng góp ý kiến, sáng kiến trên diễn đàn này.

File của bạn mình gõ:
1.000.000.000.000, sao nó đọc có "một ngàn" là sao?
4.300.000.000.000, sao nó đọc có "tư ngàn, ba trăm tỷ" là sao?

Nếu muốn đọc số thành chữ thì bạn search trên diễn đàn GPE có rất nhiều và toàn là Open source không đấy!
http://www.google.com.vn/custom?domains=www.giaiphapexcel.com&q=%C4%91%E1%BB%8Dc+s%E1%BB%91+th%C3%A0nh+ch%E1%BB%AF&sitesearch=www.giaiphapexcel.com
 
Upvote 0
Cái này thấy nhiều nơi nói đến.
Các bạn thử tham khảo thêm cái này, có thêm một số tính năng khác cũng khá bổ ích.
http://www.megaupload.com/vn/?d=XZ4LDKXQ dung lượng khoảng 100k
 
Lần chỉnh sửa cuối:
Upvote 0
dịch số ra chữ số

Còn đây là một file dịch số ra chữ số tiếng việt rất đơn giản chỉ có 24 KB thôi ( dược sử dụng trong ngân hàng đó) ,bạn chỉ cần download về và copy nó vào office của bạn là xong, ở ô bất kỳ để hiện chữ số thì bạn gõ là = "số tiền bằng chữ: "&dichvn(*) là xong * là tại vị trí ô có con số muốn dịch ra chữ số ví dụ ô A1 Còn bạn muốn làm cách khác thủ công hơn thì xem cái công thức ở dưới tôi viết nè nhưng theo tôi cách dưới ko nên làm vì rất dài trong khi có nhiều code chuyển số ra chữ đơn giản hơn đã được giới thiệu ở trên, xài cái file tui gửi đính kèm đó

Hoặc cách thủ công nhất mình đã làm, bạn cứ theo số ô trên excel mà làm thử xem, đây không phải đoạn code chỉ là cách dùng công thức thô sơ nhất, mình chỉ viết tới 100 tỷ đồng thôi tức là 12 con số, còn bạn nếu cần nhiều hơn cứ việc tương tự theo đó mà nghiên cứu thêm và gõ lệnh tạo thêm theo ý bạn
Công thức này chỉ coi chơi thôi nhé

A1: NƠI ĐÁNH Ô SỐ CÓ ĐƯỢC.
A2: NƠI QUY ĐỔI CON SỐ RA CHỮ SỐ.
B1: =IF(LEN($A$1)<>0,VALUE(RIGHT(A1,3)),"")
B2: Nhóm: từ 1đến 5
B3: Nhóm: từ 6 đến 0
B4: TH: "một","mốt".
B5: TH: "lăm","năm".
B6: Ghép trọng số
B7: Ghép toàn bộ 3 cột
B8: =IF(LEN($A$1)>3,VALUE(RIGHT((A1-B1)/1000,3)),"")
B9: Nhóm: từ 1 đến 6
B10: Nhóm: từ 6 đến 0
B11: TH: "một","mốt".
B12: TH: "lăm","năm".
B13: Ghép trọng số.
B14: Ghép toàn bộ 3 cột.
B15: =IF(LEN($A$1)>6,VALUE(RIGHT(($A$1-RIGHT(A1,6))/1000000,3)),"")
B16: Nhóm: từ 1 đến 7
B17: Nhóm: từ 6 đến 1
B18: TH: "một","mốt".
B19: TH: "lăm","năm".
B20: Ghép trọng số.
B21: Ghép toàn bộ 3 cột
B22: =IF(LEN($A$1)>9,VALUE(RIGHT(($A$1-RIGHT($A$1,9))/1000000000,3)),"")
B23: Nhóm: từ 1 đến 8
B24: Nhóm: từ 6 đến 2
B25: TH: "một","mốt".
B26: TH: "lăm","năm".
B27: Ghép trọng số.
B28: Ghép toàn bộ 3 cột
C1: =IF(LEN(B1)=3,VALUE(MID(B1,1,1)),"")
C2: =IF(C1=1,"một ",IF(C1=2,"hai ",IF(C1=3,"ba ",IF(C1=4,"bốn ",IF(C1=5,"năm ",C3)))))
C3: =IF(C1=6,"sáu ",IF(C1=7,"bảy ",IF(C1=8,"tám ",IF(C1=9,"chín ",IF(C1=0,"không ","")))))
C4: =C2
C5: =C4
C6: =IF(AND(C1<>"",C1<>0),CONCATENATE(C5,"trăm "),"")
C7: =CONCATENATE(C6,D6,E6)
C8: =IF(LEN(B8)=3,VALUE(MID(B8,1,1)),"")
C9: =IF(C8=1,"một ",IF(C8=2,"hai ",IF(C8=3,"ba ",IF(C8=4,"bốn ",IF(C8=5,"năm ",C10)))))
C10: =IF(C8=6,"sáu ",IF(C8=7,"bảy ",IF(C8=8,"tám ",IF(C8=9,"chín ",IF(C8=0,"không ","")))))
C11: =C9
C12: =C11
C13: =IF(AND(C8<>"",C8<>0),CONCATENATE(C12,"trăm ",),"")
C14: =CONCATENATE(C13,D13,E13)
C15: =IF(LEN(B15)=3,VALUE(MID(B15,1,1)),"")
C16: =IF(C15=1,"một ",IF(C15=2,"hai ",IF(C15=3,"ba ",IF(C15=4,"bốn ",IF(C15=5,"năm ",C17)))))
C17: =IF(C15=6,"sáu ",IF(C15=7,"bảy ",IF(C15=8,"tám ",IF(C15=9,"chín ",IF(C15=0,"không ","")))))
C18: =C16
C19: =C18
C20: =IF(AND(C15<>"",C15<>0),CONCATENATE(C19,"trăm "),"")
C21: =CONCATENATE(C20,D20,E20)
C22: =IF(LEN(B22)=3,VALUE(MID(B22,1,1)),"")
C23: =IF(C22=1,"một ",IF(C22=2,"hai ",IF(C22=3,"ba ",IF(C22=4,"bốn ",IF(C22=5,"năm ",C24)))))
C24: =IF(C22=6,"sáu ",IF(C22=7,"bảy ",IF(C22=8,"tám ",IF(C22=9,"chín ",IF(C22=0,"không ","")))))
C25: =C23
C26: =C25
C27: =IF(AND(C22<>"",C22<>0),CONCATENATE(C26,"trăm "),"")
C28: =CONCATENATE(C27,D27,E27)
D1: =IF(LEN(B1)=3,VALUE(MID(B1,2,1)),IF(LEN(B1)=2,VALUE(MID(B1,1,1)),""))
D2: =IF(D1=1,"mười ",IF(D1=2,"hai ",IF(D1=3,"ba ",IF(D1=4,"bốn ",IF(D1=5,"năm ",D3)))))
D3: =IF(D1=6,"sáu ",IF(D1=7,"bảy ",IF(D1=8,"tám ",IF(D1=9,"chín ",IF(D1=0,"lẻ ","")))))
D4: =IF(D1=0,IF(E1<>0,D2,""),D2)
D5: =D4
D6: =IF(D1<>"",IF(AND(D1<>0,D1<>1),CONCATENATE(D5,"mươi "),D5),"")
D7: *
D8: =IF(LEN(B8)=3,VALUE(MID(B8,2,1)),IF(LEN(B8)=2,VALUE(MID(B8,1,1)),""))
D9: =IF(D8=1,"mười ",IF(D8=2,"hai ",IF(D8=3,"ba ",IF(D8=4,"bốn ",IF(D8=5,"năm ",D10)))))
D10: =IF(D8=6,"sáu ",IF(D8=7,"bảy ",IF(D8=8,"tám ",IF(D8=9,"chín ",IF(D8=0,"lẻ ","")))))
D11: =IF(D8=0,IF(E8<>0,D9,""),D9)
D12: =D11
D13: =IF(D8<>"",IF(AND(D8<>0,D8<>1),CONCATENATE(D12,"mươi "),D12),"")
D14: *
D15: =IF(LEN(B15)=3,VALUE(MID(B15,2,1)),IF(LEN(B15)=2,VALUE(MID(B15,1,1)),""))
D16: =IF(D15=1,"mười ",IF(D15=2,"hai ",IF(D15=3,"ba ",IF(D15=4,"bốn ",IF(D15=5,"năm ",D17)))))
D17: =IF(D15=6,"sáu ",IF(D15=7,"bảy ",IF(D15=8,"tám ",IF(D15=9,"chín ",IF(D15=0,"lẻ ","")))))
D18: =IF(D15=0,IF(E15<>0,D16,""),D16)
D19: =D18
D20: =IF(D15<>"",IF(AND(D15<>0,D15<>1),CONCATENATE(D19,"mươi "),D19),"")
D21: *
D22: =IF(LEN(B22)=3,VALUE(MID(B22,2,1)),IF(LEN(B22)=2,VALUE(MID(B22,1,1)),""))
D23: =IF(D22=1,"mười ",IF(D22=2,"hai ",IF(D22=3,"ba ",IF(D22=4,"bốn ",IF(D22=5,"năm ",D24)))))
D24: =IF(D22=6,"sáu ",IF(D22=7,"bảy ",IF(D22=8,"tám ",IF(D22=9,"chín ",IF(D22=0,"lẻ ","")))))
D25: =IF(D22=0,IF(E22<>0,D23,""),D23)
D26: =D25
D27: =IF(D22<>"",IF(AND(D22<>0,D22<>1),CONCATENATE(D26,"mươi "),D26),"")
D28: *
E1: =IF(LEN(B1)=3,VALUE(MID(B1,3,1)),IF(LEN(B1)=2,VALUE(MID(B1,2,1)),IF(LEN(B1)=1,B1,"")))
E2: =IF(E1=1,"một ",IF(E1=2,"hai ",IF(E1=3,"ba ",IF(E1=4,"bốn ",IF(E1=5,"lăm ",E3)))))
E3: =IF(E1=6,"sáu ",IF(E1=7,"bảy ",IF(E1=8,"tám ",IF(E1=9,"chín ",IF(E1=0,"","")))))
E4: =IF(E1=1,IF(D1<>"",IF(AND(D1<>0,D1<>1),"mốt ","một "),"một "),E2)
E5: =IF(E1=5,IF(D1=0,"năm ",IF(D1="","năm ",E4)),E4)
E6: =IF($A$1=0,"không đồng. ",IF(E1<>"",CONCATENATE(E5,"đồng chẵn. "),""))
E7: *
E8: =IF(LEN(B8)=3,VALUE(MID(B8,3,1)),IF(LEN(B8)=2,VALUE(MID(B8,2,1)),IF(LEN(B8)=1,B8,"")))
E9: =IF(E8=1,"một ",IF(E8=2,"hai ",IF(E8=3,"ba ",IF(E8=4,"bốn ",IF(E8=5,"lăm ",E10)))))
E10: =IF(E8=6,"sáu ",IF(E8=7,"bảy ",IF(E8=8,"tám ",IF(E8=9,"chín ",IF(E8=0,"","")))))
E11: =IF(E8=1,IF(D8<>"",IF(AND(D8<>0,D8<>1),"mốt ","một "),"một "),E9)
E12: =IF(E8=5,IF(D8=0,"năm ",IF(D8="","năm ",E11)),E11)
E13: =IF(D8="",IF(AND(E8<>0,E8<>""),CONCATENATE(E12,"ngàn "),""),CONCATENATE(E12,"ngàn "))
E14: *
E15: =IF(LEN(B15)=3,VALUE(MID(B15,3,1)),IF(LEN(B15)=2,VALUE(MID(B15,2,1)),IF(LEN(B15)=1,B15,"")))
E16: =IF(E15=1,"một ",IF(E15=2,"hai ",IF(E15=3,"ba ",IF(E15=4,"bốn ",IF(E15=5,"lăm ",E17)))))
E17: =IF(E15=6,"sáu ",IF(E15=7,"bảy ",IF(E15=8,"tám ",IF(E15=9,"chín ",IF(E15=0,"","")))))
E18: =IF(E15=1,IF(D15<>"",IF(AND(D15<>0,D15<>1),"mốt ","một "),"một "),E16)
E19: =IF(E15=5,IF(D15=0,"năm ",IF(D15="","năm ",E18)),E18)
E20: =IF(D15="",IF(AND(E15<>0,E15<>""),CONCATENATE(E19,"triệu "),""),CONCATENATE(E19,"triệu "))
E21: *
E22: =IF(LEN(B22)=3,VALUE(MID(B22,3,1)),IF(LEN(B22)=2,VALUE(MID(B22,2,1)),IF(LEN(B22)=1,B22,"")))
E23: =IF(E22=1,"một ",IF(E22=2,"hai ",IF(E22=3,"ba ",IF(E22=4,"bốn ",IF(E22=5,"lăm ",E24)))))
E24: =IF(E22=6,"sáu ",IF(E22=7,"bảy ",IF(E22=8,"tám ",IF(E22=9,"chín ",IF(E22=0,"","")))))
E25: =IF(E22=1,IF(D22<>"",IF(AND(D22<>0,D22<>1),"mốt ","một "),"một "),E23)
E26: =IF(E22=5,IF(D22=0,"năm ",IF(D22="","năm ",E25)),E25)
E27: =IF(D22="",IF(AND(E22<>0,E22<>""),CONCATENATE(E26,"tỉ "),""),CONCATENATE(E26,"tỉ "))
E28: *
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Ôi, quả thật là quá kỳ công nhưng tôi thấy không hiệu quả.
Việc chuyển số sang chữ đã thấy nhiều người viết, về thuật toán cũng nhiều, nhưng hầu hết đều viết dưới dạng cố định, người dùng khó tùy biến, người thì dùng mã Unicode, người thì dùng TCVN3, VNI...., vậy làm sao để cùng 1 chương trình ai cũng có thể sử dụng được.
Hãy sử dụng thử chương trình của tôi ở trên xem thế nào.
 
Upvote 0
Hàm VND đã chạy thử mấy năm rồi !

Tặng các bạn cái VND.
Một ít kiến thức học hỏi được từ diễn đàn GPEC này, mình đã làm và sử dụng cái VND này mấy năm nay rồi, rất OK (ngoài đọc số còn có xac định thứ trong tuần, tính tuổi ta theo năm sinh)
Có gì cho ý kiến nhé !
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chào các bạn

nếu mình sử dụng macro này và tạo file xls trên máy mình có sử dụng hàm trong macro trên khi chép sang máy khác. Nếu bị chương trình duyệt virus hoặc các chương trình khác vô hiệu hóa hoặc xóa thì phải làm sao? Giải pháp nào là ok nhất để tránh gặp vấn đề này?

Thanks
 
Upvote 0
Nếu bạn chỉ cài trên máy của mình thì khi copy sang máy khác thì không thể sử dụng được. Nếu chương trình diệt virus như BKAV quét macro thì xem như bó tay.
 
Upvote 0
bạn ui, mình chọn đúng hết rùi nhưng khi kết quả lại là #Name? là sao vậy bạn? mình cần gấp lắm. thank trước nha.
 
Upvote 0
Tôi làm theo cách của bạn CATOPWAW thấy sử dụng đươc, nhung font chư thì bị lỗi. tôi muốn dùng chuẩn font Times New Roman thì làm cáhc nào xin các bạn chi giúp
 
Upvote 0
Các bạn giúp mình với. mình đã làm đúng như hường dấn nhưng vẫn báo lỗi [FONT=.VnTime]#NAME?[/FONT]lá sao? Mình dung file Vnd_Vn3. VD: khi mình muốn đổi số ô A1 thành chữ thì: =Vnd_Vn3(A1)
Cú pháp gọi hàm này như vậy có đúng ko hả các bạn. Giúp mình với. Mình rất cần cái này mà toàn phải đánh bằng tay.
 
Upvote 0
Chào các bạn. Mình đã làm đúng theo hướng dẫn và đã chạy rất tốt. Song mình chưa làm được phím tắt theo hương dẫn, vẫn phải đánh chữ " =sorachu() enter. Bạn nào giup minh với nhé. Trịnh cam ơn nhiều.
 
Upvote 0
tôi đã tải VNduni(831689) về rồi, nhưng khi mở file excel và mở kèm file vnduni mới tải về (mở cùng một lúc) thì nó mới chạy tốt. nhưng nếu mở 1 file excel thì nó không chịu dịch số và không lưu được. vậy phải làm sao bây giờ
 
Upvote 0
Các hàm đọc số thành chữ hiện nay thường chỉ đếm đến nhỏ hơn 1.000 tỷ. Em muốn viết số hàm đó lên đến 10.000 tỷ thì làm thế nào mong được giúp đỡ
 
Upvote 0
Các hàm đọc số thành chữ hiện nay thường chỉ đếm đến nhỏ hơn 1.000 tỷ. Em muốn viết số hàm đó lên đến 10.000 tỷ thì làm thế nào mong được giúp đỡ
Tôi thấy vẫn sử dụng tốt đấy chứ, không giới hạn trên 1000 tỷ như bạn nói. Bạn thử với ADD-IN dưới đây làm ví dụ nhé. Thân
 

File đính kèm

Upvote 0
Nhờ sửa Code đọc số ra chữ

Chào các bạn
Đoạn code này dịch số ra chữ mình lấy trên diễn đàn(Xin lỗi không nhớ tên tác giả) , nhưng lỗi phần thập phân . VD : ...,1 -> dịch là ... , chín xu
...,21 -> dịch là ... , hai mươi xu
Nhờ các bạn chỉnh giúp ( nhớ đánh dấu chỗ sửa)
Cảm ơn

On Error Resume Next
Static CharVND(9) As String, BangChu As String, I As Integer
Dim SoLe, SoDoi As Integer, PhanChan, Ten As String
Dim DonViTien As String, DonViLe As String
Dim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As Integer
Dim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As Integer
DonViTien = ";111;1ED3;6E;67" ' d?ng
DonViLe = ";78;75" ' xu
If [S46] = 0 Then
[i47] = UnicodeChar(";4B;68;F4;6E;67;20" & DonViTien)
Exit Sub
End If
If [S46] > 922337203685477# Then ' S? l?n nh?t c?a lo?i CURRENCY
[i47] = UnicodeChar(";4B;68;F4;6E;67;20;111;1ED5;69;20;111;1B0;1EE3;63;20;73" & ";1ED1;20;6C;1EDB;6E;20;68;1A1;6E;20;39;32;32;2C;33;33;37" & ";2C;32;30;33;2C;36;38;35;2C;34;37;37")
Exit Sub
End If
CharVND(1) = ";6D;1ED9;74" ' m?t
CharVND(2) = ";68;61;69" ' hai
CharVND(3) = ";62;61" ' ba
CharVND(4) = ";62;1ED1;6E" ' b?n
CharVND(5) = ";6E;103;6D" ' nam
CharVND(6) = ";73;E1;75" ' sáu
CharVND(7) = ";62;1EA3;79" ' b?y
CharVND(8) = ";74;E1;6D" ' tám
CharVND(9) = ";63;68;ED;6E" ' chín
SoLe = Int(([S46] - Int([S46])) * 100) ' 2 kí s?
PhanChan = Trim$(str$(Int([S46])))
PhanChan = Space(15 - Len(PhanChan)) + PhanChan
NganTy = Val(Left(PhanChan, 3))
Ty = Val(Mid$(PhanChan, 4, 3))
Trieu = Val(Mid$(PhanChan, 7, 3))
Ngan = Val(Mid$(PhanChan, 10, 3))
Dong = Val(Mid$(PhanChan, 13, 3))
If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then
BangChu = ";6B;68;F4;6E;67;20" + DonViTien + ";20"
I = 5
Else
BangChu = ""
I = 0
End If
'-----------------------------------------------------
' B?t d?u d?i
'-----------------------------------------------------
While I <= 5
Select Case I
Case 0
SoDoi = NganTy
Ten = ";6E;67;E0;6E;20;74;1EF7" ' ngàn t?
Case 1
SoDoi = Ty
Ten = ";74;1EF7" ' t?
Case 2
SoDoi = Trieu
Ten = ";74;72;69;1EC7;75" ' tri?u
Case 3
SoDoi = Ngan
Ten = ";6E;67;E0;6E" ' ngàn
Case 4
SoDoi = Dong
Ten = DonViTien ' d?ng
Case 5
SoDoi = SoLe
Ten = DonViLe ' xu
End Select
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
If Right(BangChu, 3) = ";20" Then
BangChu = Left(BangChu, Len(BangChu) - 3)
End If
BangChu = BangChu + IIf(Len(BangChu) = 0, "", ";2C;20") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + ";20;74;72;103;6D;20", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
BangChu = BangChu + ";6C;1EBB;20"
Else
If Muoi <> 0 Then
BangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + ";20;6D;1B0;1A1;69;20", ";6D;1B0;1EDD;69;20")
End If
End If
If Muoi <> 0 And DonVi = 5 Then
BangChu = BangChu + ";6C;103;6D;20" + Ten + ";20"
Else
If Muoi > 1 And DonVi = 1 Then
BangChu = BangChu + ";6D;1ED1;74;20" + Ten + ";20"
Else
BangChu = BangChu + IIf(DonVi <> 0, Trim(CharVND(DonVi)) + ";20" + Ten, Ten) + ";20"
End If
End If
Else
BangChu = BangChu + IIf(I = 4, DonViTien + "", "")
End If
I = I + 1
Wend
If SoLe = 0 Then
BangChu = BangChu + IIf(Right(BangChu, 3) = ";20", "", ";20") + ";63;68;1EB5;6E"
End If
'Ð?i sang ti?ng Vi?t Unicode
BangChu = UnicodeChar(BangChu)
' Ð?i ch? cái d?u tiên thành ch? hoa
Mid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))
 
Upvote 0
chán thế? em tải bao nhiêu cái về mà không dùng được?bác nào dùng được rồi bản ngon? gủi em xin với (cho xin cả hứuowng dẫn cụ thể để em gui cho mấy em cùng phòng ) tuanduongthanh@yahoo.com cảm ơn các bac nhieu?
 
Upvote 0
chán thế? em tải bao nhiêu cái về mà không dùng được?bác nào dùng được rồi bản ngon? gủi em xin với (cho xin cả hứuowng dẫn cụ thể để em gui cho mấy em cùng phòng ) tuanduongthanh@yahoo.com cảm ơn các bac nhieu?
Không biết bạn dùng thế nào mà bảo không được nhỉ. Thử cái này xem sao:
Cú pháp:
Mã:
=DocSo(Number,Code)
Trong đó:
Number: Số cần đọc
Code: Bảng mã, có các tùy chọn sau:
+ 1: Mã Unicode
+ 2: Mã VNI Windown
+ 3: TCVN3 (ABC)
Nếu bạn sử dụng không được do không biết dùng Add-in thì đó là do bạn. Có thể tìm cách nạp Add-in trên diễn đàn.
 

File đính kèm

Upvote 0
Nguyên văn bởi le tin
Chào các bạn
Đoạn code này dịch số ra chữ mình lấy trên diễn đàn(Xin lỗi không nhớ tên tác giả) , nhưng lỗi phần thập phân . VD : ...,1 -> dịch là ... , chín xu
...,21 -> dịch là ... , hai mươi xu
Nhờ các bạn chỉnh giúp ( nhớ đánh dấu chỗ sửa)
Cảm ơn
Đoạn code bác post lên chưa hoàn chỉnh lắm. Thiếu phần đầu và phần cuối. Thiếu hàm UnicodeChar. Nếu đoạn code trên là của một hàm chuyển đổi thì phải chỉnh lại như sau:
Mã:
[COLOR="Red"][B]Function vnd(ByVal NumCurrency As Currency) As String[/B][/COLOR]
On Error Resume Next
Static CharVND(9) As String, BangChu As String, I As Integer
Dim SoLe, SoDoi As Integer, PhanChan, Ten As String
Dim DonViTien As String, DonViLe As String
Dim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As Integer
Dim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As Integer
DonViTien = ";111;1ED3;6E;67" ' d?ng
DonViLe = ";78;75" ' xu
If  [B][COLOR="red"]NumCurrency[/COLOR][/B]= 0 Then
[B][COLOR="red"]vnd[/COLOR][/B] = UnicodeChar(";4B;68;F4;6E;67;20" & DonViTien)
Exit Sub 
End If
If [S46] > 922337203685477# Then ' S? l?n nh?t c?a lo?i CURRENCY
[i47] = UnicodeChar(";4B;68;F4;6E;67;20;111;1ED5;69;20;111 ;1B0;1EE3;63;20;73" & ";1ED1;20;6C;1EDB;6E;20;68;1A1;6E;20;39;32;32;2C;3 3;33;37" & ";2C;32;30;33;2C;36;38;35;2C;34;37;37")
Exit Sub
End If
CharVND(1) = ";6D;1ED9;74" ' m?t
CharVND(2) = ";68;61;69" ' hai
CharVND(3) = ";62;61" ' ba
CharVND(4) = ";62;1ED1;6E" ' b?n
CharVND(5) = ";6E;103;6D" ' nam
CharVND(6) = ";73;E1;75" ' sáu
CharVND(7) = ";62;1EA3;79" ' b?y
CharVND(8) = ";74;E1;6D" ' tám
CharVND(9) = ";63;68;ED;6E" ' chín
SoLe = Int(([S46] - Int([S46])) * 100) ' 2 kí s?
PhanChan = Trim$(str$(Int([S46])))
PhanChan = Space(15 - Len(PhanChan)) + PhanChan
NganTy = Val(Left(PhanChan, 3))
Ty = Val(Mid$(PhanChan, 4, 3))
Trieu = Val(Mid$(PhanChan, 7, 3))
Ngan = Val(Mid$(PhanChan, 10, 3))
Dong = Val(Mid$(PhanChan, 13, 3))
If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then
BangChu = ";6B;68;F4;6E;67;20" + DonViTien + ";20"
I = 5
Else
BangChu = ""
I = 0
End If
'-----------------------------------------------------
' B?t d?u d?i
'-----------------------------------------------------
While I <= 5
Select Case I
Case 0
SoDoi = NganTy
Ten = ";6E;67;E0;6E;20;74;1EF7" ' ngàn t?
Case 1
SoDoi = Ty
Ten = ";74;1EF7" ' t?
Case 2
SoDoi = Trieu
Ten = ";74;72;69;1EC7;75" ' tri?u
Case 3
SoDoi = Ngan
Ten = ";6E;67;E0;6E" ' ngàn
Case 4
SoDoi = Dong
Ten = DonViTien ' d?ng
Case 5
SoDoi = SoLe
Ten = DonViLe ' xu
End Select
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
If Right(BangChu, 3) = ";20" Then
BangChu = Left(BangChu, Len(BangChu) - 3)
End If
BangChu = BangChu + IIf(Len(BangChu) = 0, "", ";2C;20") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + ";20;74;72;103;6D;20", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
BangChu = BangChu + ";6C;1EBB;20"
Else
If Muoi <> 0 Then
BangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + ";20;6D;1B0;1A1;69;20", ";6D;1B0;1EDD;69;20")
End If
End If
If Muoi <> 0 And DonVi = 5 Then
BangChu = BangChu + ";6C;103;6D;20" + Ten + ";20"
Else
If Muoi > 1 And DonVi = 1 Then
BangChu = BangChu + ";6D;1ED1;74;20" + Ten + ";20"
Else
BangChu = BangChu + IIf(DonVi <> 0, Trim(CharVND(DonVi)) + ";20" + Ten, Ten) + ";20"
End If
End If
Else
BangChu = BangChu + IIf(I = 4, DonViTien + "", "")
End If
I = I + 1
Wend
If SoLe = 0 Then
BangChu = BangChu + IIf(Right(BangChu, 3) = ";20", "", ";20") + ";63;68;1EB5;6E"
End If
'Ð?i sang ti?ng Vi?t Unicode
BangChu = UnicodeChar(BangChu)
' Ð?i ch? cái d?u tiên thành ch? hoa
Mid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1)) 
[B][COLOR="red"]vnd = BangChu[/COLOR][/B]
[B][COLOR="red"]End Function[/COLOR][/B]
Và cần hàm UnicodeChar thì đoạn code trên mới chạy được.
 
Upvote 0
Mình cũng muốn đổi chữ ra số mà sao vào mấy file mà các bạn gửi mình tải về mà nó không đọc được.Fải làm sao cho nó chạy đây?giúp mình zới!!!!
 
Upvote 0
Bạn Ongtrungducmx25 ơi! Cám ơn bạn đã cho tôi hàn VND như tôi không thể thêm chữ đồng vào cuối dòng được tôi sai chỗ nào chỉ cho tôi với . ( VD: =VND( 1579) nó chỉ ra Một ngàn năm trăm bảy chín thôi mà không có chữa đồng vào
 
Upvote 0
Bạn Ongtrungducmx25 ơi! Cám ơn bạn đã cho tôi hàn VND như tôi không thể thêm chữ đồng vào cuối dòng được tôi sai chỗ nào chỉ cho tôi với . ( VD: =VND( 1579) nó chỉ ra Một ngàn năm trăm bảy chín thôi mà không có chữa đồng vào
Lúc chưa có tác giả trả lời, bạn thử code này xem
 
Upvote 0
Bạn Ongtrungducmx25 ơi! Cám ơn bạn đã cho tôi hàn VND như tôi không thể thêm chữ đồng vào cuối dòng được tôi sai chỗ nào chỉ cho tôi với . ( VD: =VND( 1579) nó chỉ ra Một ngàn năm trăm bảy chín thôi mà không có chữa đồng vào

Tại ô công thức, bạn thêm & " đồng."
 
Upvote 0
Gởi các bạn
Đổi số ra chữ bằng tiếng Anh
Tôi có vấn đề này nhờ các bạn chỉ dùm trên file excel: ví dụ
Cột A1: tôi nhập số liệu 2.34
Thì cột A 2: phải hiện chữ là two dollars and thirty four cents
Tương tự nếu tôi đổi số khác thì phải xuất hiện dòng chữ tiếng Anh tương tự
VD: A 1: 2.63 thì A 2: phải là two dollars and sixty two cents
Có ai biết chỉ giáo dùm làm thế nào thiết lập công thức trên cột A
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
ông làm ra chương trình chuyển đổi số ra chữ trong excel rất hay, làm thế nào để xác định được mã các ký tự vậy, còn 1 lỗi nhỏ nữa đó sửa nó lại luôn đi.
 
Upvote 0
Hôm truớc mình có tải về một Add-Ins đọc số nhưng không hài lòng lắm vì:
- VD số 2009 thì chỉ đọc là "hai ngàn chín đồng".
- VD số 2209 thì đọc là "hai ngàn lẻ chín đồng".
Mình đã sửa lại đoạn code và bây giờ có thể đọc số theo cách đọc chuẩn.
- VD 2009 đọc là "hai nghìn không trăm linh chín đồng".
Nhiều người trong miền nam quen dùng "ngàn" thay cho "nghìn", "lẻ" thay cho "linh".
Hàm sử dụng là =RN()
Xin up lên diễn đàn cả 2 cách đọc để mọi người tham khảo nhé!
 
Upvote 0
1452,2| Một ngàn bốn trăm năm mươi hai đồng ./. không trăm hai mươi xu
 
Upvote 0
Cảm ơn ongtrungducmx25 về các tập tin, nhưng bạn có thể giúp mình cách cài đặt vào máy tính không, mình không rành lắm
 
Upvote 0
Còn tôi thì lại là: ví dụ nhé
12345
tôi cài đạt rồi gõ:
VND(12345)&" đồng"
nhưng nó lại ra là mười hai nghìn ba trăm bốn lăm. đồng
Làm thế nào vậy các bạn
 
Upvote 0
anh có thế giúp em trường hợp này được không: một trăm nghìn.đồng
 
Upvote 0
Mình hay sử dụng hàm =readnum() của anh hoangdanh282vn bên webketoan để đọc số ra chữ
=readnum(12345) cho ra Mười hai nghìn ba trăm bốn lăm (font Time New Roman)
="("&readnum(12345)&" đồng)." cho ra (Mười hai nghìn ba trăm bốn lăm đồng).
hàm này không đọc số sau dấu "," vì không sử dụng hào, xu
có 3 loại font chữ sử dụng:
ReadNum(So,"uni"), ReadNum(So) : Dùng cho Font Unicode - Mặc định
ReadNum(So,"vni") : Dùng cho Font VniTime
ReadNum(So,"tcv") : Dùng cho Font Tcvn3
 

File đính kèm

Upvote 0
Mình cũng có tải về sao mình dùng công thức nó báo name# à, các bạn giúp mình với
 
Upvote 0
[cám ơn bạn rất nhiều, mình đã cài được VNDUni.rar rồi nhưng nó chỉ dùng được trên font unicode thôi à, muốn dùng trên file VNI thì có phần mềm nào không bạn vì mình làm lương nên rất cần mà font của mình toàn là VNi thôi à,
 
Upvote 0
Cảm ơn bác, em sử dụng tốt rồi.
Nhưng em cần thêm sự giúp đỡ như sau: em cần đọc số ra chữ kilogram.
ví dụ: 123.490,00 : Đọc là " Một trăm hai mươi ba ngàn bốn trăm chín mươi kilogram"
còn 123.490,12 : Đọc là " Một trăm hai mươi ba ngàn bốn trăm chín mươi phẩy mười hai kilogram"
Các pác giúp em cái, em đang cần
 
Upvote 0
Mình muốn hiển thị cả "không trăm" thì làm như thế nào vậy các bác?
Ví dụ của mình. Số tiền là: 45.045.000 đồng
Mình dùng "=VND(Số tiền)" thì chỉ nhận được: Bốn mươi lăm triệu, bốn mươi lăm ngàn đồng chẵn.
Cái mình cần là: Bốn mươi lăm triệu, không trăm bốn mươi lăm ngàn đồng chẵn.
 
Upvote 0
Đổi số thành chữ nhanh cả 1 cột trong excel

Em cho em hỏi với ạ.
Hiện nay em đã đổi được từ chữ sang số, em dùng addins, nhưng em chỉ đổi được từng ô một thôi ạ.
có cách nào copy để đổi được số của cả 1 cột sang chữ ko ạ?
Em xin chân thành cảm ơn
 
Upvote 0
Em cho em hỏi với ạ.
Hiện nay em đã đổi được từ chữ sang số, em dùng addins, nhưng em chỉ đổi được từng ô một thôi ạ.
có cách nào copy để đổi được số của cả 1 cột sang chữ ko ạ?
Em xin chân thành cảm ơn
Nghĩa là bạn có 1 cột gồm rất nhiều các con số (ví dụ cột A). Bạn muốn đổi tất cả số ở cột A ra chữ?
Nếu vậy bạn dùng B1=vnd(A1) ; tổng quát là B1=cú pháp hàm(A1)
Rồi copy cho tất cả các ô dưới của cột B. -->OK
 
Upvote 0
Chào các bác!
Tìm hiểu rất nhều nhưng chưa thấy trường hợp của ai giống như vậy.
Các bác cho hỏi? Muốn đổi số thành chữ tiền (đô la mĩ), như các bác cũng biết tiền đô thì nhiều nước dùng tiền đô, VD: đô Australia (AUD), đô sinagapore (SGD)... Nhưng cái em muốn lại là định danh đô là (USD).
Thường các addins dịch ra như sau:
Ví dụ số: 1,234,567.20
(1) One million two hundred thirty four thousand five hundred sixty seven dollars and twenty cents.
(2) One million two hundred thirty four thousand five hundred sixty seven point twenty.

Như 2 ví dụ trên thì đô la nào cũng có giá trị quy đổi như nhau. => Sai do với trường hợp cụ thể.

Bây giờ em nói cái ý em đang cần là vì em làm bên chứng từ thanh toán ngân hàng cho Công ty xuất nhập khẩu, nên tiền nào phải đúng loại tiền mà hai bên đã thỏa thuận ở trong hợp đồng chứ không phải cứ tiền đô la là được. Cũng ở ví dụ trên em muốn dịch ra như bên dưới.
Say: US dollars one million two hundred thirty four thousand five hundred sixty seven and twenty cents.
Em muốn như sau:
- Bắt đầu bằng các chữ (US dollars) rồi mới bắt đầu dịch ra các con số: one million two hundred thirty four thousand five hundred sixty seven and twenty cents.
- Chỗ phần thập phân như ở trường hợp (1) có chữ dollars, chữ này bỏ đi chỉ lấy lại chữ and thôi.
Cảm ơn các bác đã quan tâm.
 
Lần chỉnh sửa cuối:
Upvote 0
Không biết bạn dùng thế nào mà bảo không được nhỉ. Thử cái này xem sao:
Cú pháp:
Mã:
=DocSo(Number,Code)
Trong đó:
Nếu bạn sử dụng không được do không biết dùng Add-in thì đó là do bạn. Có thể tìm cách nạp Add-in trên diễn đàn.
Chào anh, anh giúp em sửa chữ "lẻ" thành chữ "Linh" và bỏ đi dấu "." cuối cùng khi đọc số được không ạ!
 
Upvote 0
Chào anh, anh giúp em sửa chữ "lẻ" thành chữ "Linh" và bỏ đi dấu "." cuối cùng khi đọc số được không ạ!
Bạn thử sửa code lại như sau nhé:
Rich (BB code):
Function DocSo(Number, Font) As String
Dim MyArray, tam
Dim Str As String, Str1 As String
Str = Format(Fix(Abs(Number)), "000000000000000000")
Select Case Font
Case 1
'MyArray = Array("không ", "m" & ChrW(7897) & "t ", "hai ", "ba ", "b" & ChrW(7889) & "n ", "n" & ChrW(259) & "m ", "sáu ", "b" & ChrW(7843) & "y ", "tám ", "chín ", "tri" & ChrW(7879) & "u, ", "ngàn, ", "t" & ChrW(7927) & ", ", "tri" & ChrW(7879) & "u, ", "ngàn, ", "", "tr" & ChrW(259) & "m ", "m" & ChrW(432) & ChrW(417) & "i ", "không " & "m" & ChrW(432) & ChrW(417) & "i" & " không ", "không " & "m" & ChrW(432) & ChrW(417) & "i", "l" & ChrW(7867), "m" & ChrW(432) & ChrW(417) & "i" & " không", "m" & ChrW(432) & ChrW(417) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " n" & ChrW(259) & "m", "m" & ChrW(432) & ChrW(417) & "i" & " l" & ChrW(259) & "m", "m" & ChrW(7897) & "t " & "m" & ChrW(432) & ChrW(417) & "i", "m" & ChrW(432) & ChrW(7901) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7897) & "t", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7889) & "t", "Âm ", ChrW(273) & ChrW(7891) & "ng ", "và ", "xu ")
MyArray = Array("không ", "m" & ChrW(7897) & "t ", "hai ", "ba ", "b" & ChrW(7889) & "n ", "n" & ChrW(259) & "m ", "sáu ", "b" & ChrW(7843) & "y ", "tám ", "chín ", "tri" & ChrW(7879) & "u, ", "ngàn, ", "t" & ChrW(7927) & ", ", "tri" & ChrW(7879) & "u, ", "ngàn, ", "", "tr" & ChrW(259) & "m ", "m" & ChrW(432) & ChrW(417) & "i ", "không " & "m" & ChrW(432) & ChrW(417) & "i" & " không ", "không " & "m" & ChrW(432) & ChrW(417) & "i", "linh", "m" & ChrW(432) & ChrW(417) & "i" & " không", "m" & ChrW(432) & ChrW(417) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " n" & ChrW(259) & "m", "m" & ChrW(432) & ChrW(417) & "i" & " l" & ChrW(259) & "m", "m" & ChrW(7897) & "t " & "m" & ChrW(432) & ChrW(417) & "i", "m" & ChrW(432) & ChrW(7901) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7897) & "t", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7889) & "t", "Âm ", ChrW(273) & ChrW(7891) & "ng ", "và ", "xu ")
Case 2
MyArray = Array("khoâng ", "moät ", "hai ", "ba ", "boán ", "naêm ", "saùu ", "baûy ", "taùm ", "chín ", "trieäu, ", "ngaøn, ", "tyû, ", "trieäu, ", "ngaøn, ", "", "traêm ", "möôi ", "khoâng möôi khoâng ", "khoâng möôi", "leû", "möôi khoâng", "möôi", "möôi naêm", "möôi laêm", "moät möôi", "möôøi", "möôi moät", "möôi moát", "AÂm ", "ñoàng ", "vaø ", "xu ")
Case 3
MyArray = Array("kh«ng ", "mét ", "hai ", "ba ", "bèn ", "n¨m ", "s¸u ", "b¶y ", "t¸m ", "chÝn ", "triÖu, ", "ngµn, ", "tû, ", "triÖu, ", "ngµn, ", "", "tr¨m ", "m¬i ", "kh«ng m¬i kh«ng ", "kh«ng m¬i", "lÎ", "m¬i kh«ng", "m¬i", "m¬i n¨m", "m¬i l¨m", "mét m¬i", "mêi", "m¬i mét", "m¬i mèt", "¢m ", "®ång ", "vµ ", "xu ")
End Select
If Number = 0 Then
DocSo = MyArray(0)
Else
DocSo = ""
End If
For I = 1 To Len(Str)
If Left(Str, I) <> 0 And Mid(Str, (Int((I + 2) / 3) - 1) * 3 + 1, 3) <> 0 Then
    DocSo = DocSo & MyArray(Mid(Str, I, 1)) & MyArray(-(9 + I / 3) * (I Mod 3 = 0) - (15 + I Mod 3) * (I Mod 3 <> 0))
ElseIf I = 9 And Mid(Str, 7, 3) = 0 And Left(Str, 6) <> 0 Then
    DocSo = DocSo & MyArray(12)
End If
Next
DocSo = IIf(Number = 0, MyArray(0) & MyArray(30), "") & IIf(Fix(Number) <> 0, DocSo & MyArray(30), "") & IIf(Fix(Number) <> 0 And Fix(Number) <> Number, MyArray(31), "") & IIf(Fix(Number) <> Number, IIf(Abs(Number - Fix(Number)) < 0.1, "", MyArray(Left(Right(Format(Abs(Number), "#.00"), 2), 1)) & MyArray(17)) & MyArray(Right(Format(Number, "#.00"), 1)) & MyArray(32), "")
DocSo = Trim(Replace(Replace(Replace(Replace(Replace(Replace(Replace(DocSo, MyArray(18), MyArray(15)), MyArray(19), MyArray(20)), MyArray(21), MyArray(22)), MyArray(23), MyArray(24)), MyArray(25), MyArray(26)), MyArray(27), MyArray(28)), ", " & MyArray(30), " " & MyArray(30)))
If Number < 0 Then
DocSo = MyArray(29) & DocSo
End If
'DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2) & "."
DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2)
End Function

1573091534332.png
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom