File chuyển số sang viết bằng chữ

  • Thread starter HyperVN
  • Ngày gửi
P

phamthuminh

Guest
16/12/08
40
0
0
hanoi
Tạo công thức chuyển số thành chữ trong Excel
Tạo một công thức người dùng trong Excel theo code dưới đây, mở một workbook, chọn Tool --> Macro --> Visual Basic Editor ->Insert ->Modules, gián phần công thức sau vào màn hình cập nhật.

------------------------------------------
Function CHUSO(so As Double) As String
Dim Chu As String, solop As Integer, so1 As Double, tg As Double
If so <= 0 Or so = Null Then
CHUSO = ""
End If
ReDim term(10) As String, lop(6) As Double, tlop(6) As String
term(1) = " mét"
term(2) = " hai"
term(3) = " ba"
term(4) = " bèn"
term(5) = " n¨m"
term(6) = " s¸u"
term(7) = " bÈy"
term(8) = " t¸m"
term(9) = " chÝn"
'-------------------
tlop(1) = ""
tlop(2) = " ngµn"
tlop(3) = " triÖu"
tlop(4) = " tû"
tlop(5) = " ngµn tû"
'----------------
so1 = so
solop = 1
Do While so1 > 0
tg = so1
so1 = Int(so1 / 1000)
lop(solop) = tg - so1 * 1000
solop = solop + 1
Loop
i = solop - 1
Chu = ""
Do While i > 0
so1 = lop(i)
If so1 > 0 Then
hangtram = so1 100
hangchuc = (so1 - hangtram * 100) 10
hangdonvi = so1 - (so1 10) * 10
If hangtram > 0 Then
'Chu so hang tram c¢ nghªa so1>=100
Chu = Chu + term(hangtram) + " tr¨m"
End If
'Xet chu so hang chuc
If hangchuc > 1 Then
Chu = Chu + term(hangchuc) + " m­¬i"
ElseIf hangchuc = 1 Then
Chu = Chu + " m­êi"
ElseIf hangchuc = 0 And so1 > 100 And hangdonvi <> 0 Then
Chu = Chu + " linh"
End If
' Xet ch§ s– h…ng ­ón v«
If hangdonvi <> 5 And hangdonvi <> 0 Then
Chu = Chu + term(hangdonvi)
ElseIf hangdonvi = 5 And hangchuc <> 0 Then
Chu = Chu + " l¨m "
ElseIf hangdonvi = 5 And hangchuc = 0 Then
Chu = Chu + " n¨m "
End If
Chu = Chu + tlop(i)
End If
' Xet lop ke tiep
i = i - 1
Loop
Chu = Trim(Chu)
If Chu <> "" Then
Chu = UCase(Left(Chu, 1)) & Right(Chu, Len(Chu) - 1)
End If
CHUSO = Chu
End Function
------------------------------------

(Ghi chú: chữ một hai ba bốn ... trên với mã Font TCVN, bạn có thể đổi lại theo yêu cầu)

Tiếp tục đóng cửa sổ Visual Basic Editor, quay về bảng tính Excel, ví dụ bây giờ tại ô A1 bạn có số 12345 cần chuyển thành chữ tại A2, hãy gõ vào A2 công thức =CHUSO(A1). (Lưu ý chọn Font chữ phù hợp).

Test this please.

sao mình vào mà nó báo lỗi phần này

hangtram = so1 100
hangchuc = (so1 - hangtram * 100) 10
hangdonvi = so1 - (so1 10) * 10
 
Khóa học Quản trị dòng tiền
timbolac

timbolac

Học việc
13/9/07
456
2
18
MC
Botay.com, Không gửi đựoc file đính kèm.
 
Sửa lần cuối:
M

MITLAZY

Guest
24/6/08
1
0
0
TP.HCM
ban oi minh copy doan ma cua ban nhung ko ra duoc ban coi lai gium minh duoc khong
thanks
 
doipgdls

doipgdls

::Khủng nhất WKT::
14/12/09
276
21
18
40
A, A
T

toankhcvc

Guest
8/4/10
4
0
0
hanoi
Trong EXcel các bạn muốn đổi số thành chữ chỉ cần làm hàm như sau:
Hàm có dạng : =Doc_SoVND(So,Setfont)

- So : là số cần đọc.

- Setfont : là một số quy ước cho việc sẽ sử dụng font nào .

1-Unicode, 2- Tcvn3, 3-Vni

(có trong bộ tiện ích EXcel, bạn nào cần cho mình địa chỉ mail mình sẽ gởi cho, vì mình ko biết cách đưa bài lên)

Mình đang cần tham khảo
Bạn gửi cho mình theo địa chỉ toankhcvc@yahoo.com với nhé

thanks!
 
T

TrieuTu

Trung cấp
4/8/09
52
1
0
39
Nha Trang
anh ơi thê mún đánh dâú "tik" chọn vào 1 đôí tượng trong XLS thì công thưc như thês nào? click vào là chọn thôi,mail của em :camtu_trieu@yahoo.cum.vn
Thanks
 
A

atmt17

Trung cấp
26/9/08
70
1
6
Đồng Nai
sao mình vào mà nó báo lỗi phần này

hangtram = so1 100
hangchuc = (so1 - hangtram * 100) 10
hangdonvi = so1 - (so1 10) * 10
Lỗi này là do... diễn đàn
Bạn sửa lại thành:
hangtram = so1 \ 100
hangchuc = (so1 - hangtram * 100) \ 10
hangdonvi = so1 - (so1 \ 10) * 10

Có dấu \ ở chổ mấy khoảng trắng đấy!
Ngoài ra, code này có cả 1 đóng biến chưa khai báo (cẩu thả quá)
 
O

onlymeandme

Guest
13/5/10
1
0
0
34
Quảng Ninh
Còn chờ gì nữa post lên đây cho mọi ngươi tham khảo đi ? À quên phải xin ý kiến tác giả của nó đã nghe.

Cái hàm trong file anh post lên đọc ra như là "Bằng chữ: Bốn trăm bốn mươi lăm ngàn, năm trăm sáu mươi bảy đồng chẳn" và còn còn có thể viết tiền usd ra bằng tiếng Anh nữa đấy :leu: (nỗ chút cho vui)

PS. Mới vừa update lại cái file bên trên, hy vong kỳ này xài được.

làm sao mà có thể viết được đày đủ là " Bằng chữ: ....." vậy
minh chỉ có thể tách ra làm hai ô thôi
tức là một ô "bằng chữ" ô kề bên là "số tiền ghi bằng chữ"
nhưng nếu ô ghi :Bằng chữ" mà nhỏ thì chịu
 
C

cuongsgbhp

Guest
19/4/09
1
0
1
40
hai phong
Các anh cho em hỏi chút em cũng paste nhưng khi ngõ số vào không ra chữ ạ toàn báo lỗi [HASHTAG]#name[/HASHTAG] hoạc # v
[HASHTAG]#value[/HASHTAG] thôi
Cám ơn nhiều
 
Sửa lần cuối:
T

trung thao

Guest
file đính kèm

:help Thêm một cách chuyển đổi số thành chữ:
+ Bạn chép file đính kèm theo đây vào C:\Program Files\Microsoft Office\Office\Library
+ Bạn vào Excel -> Tools -> Add-ins -> dẫn tới thư mục đã chép file như trên và bấm OK
+ Bạn thử đánh 123 vào ô A1; ô A2 bạn đánh =vnivnd(A1); ô A3 bạn đánh =usd(A1). Nếu hàm trả về kết quả thì sau này bạn mở bất kỳ file mới nào cũng đương nhiên có chạy được hàm này.

Chú ý: Hàm vnivnd() dùng font VNI; bạn nào biết chút chút thì có thể sửa lại font khác.
Khi dùng BKAV thì đừng quét tự động all macro nó sẽ giết luôn cái hàm này đấy.
bạn làm ơn chỉ giúp mình file đính kèm chỗ nào vậy ạ! Cám ơn bạn nhiều!!!
 
A

anhkietvn

Sơ cấp
27/10/09
4
0
0
Tp.HCM
Ai cần tool đọc số ra chữ hãy liên hệ mình, mình cung cấp và hướng dẫn cách sử dụng cho
liên hệ qua yahoo mess nhe: jandkvn
 
H

hamyks

Sơ cấp
18/9/10
9
0
0
37
ninh binh
xin loi lam on cho toi hoi toi da copy file chuyen so sang chu nhung ko duoc khi thuc hien cong thuc thi chi hien ra la #name?

Tạo công thức chuyển số thành chữ trong Excel
Tạo một công thức người dùng trong Excel theo code dưới đây, mở một workbook, chọn Tool --> Macro --> Visual Basic Editor ->Insert ->Modules, gián phần công thức sau vào màn hình cập nhật.

------------------------------------------
Function CHUSO(so As Double) As String
Dim Chu As String, solop As Integer, so1 As Double, tg As Double
If so <= 0 Or so = Null Then
CHUSO = ""
End If
ReDim term(10) As String, lop(6) As Double, tlop(6) As String
term(1) = " mét"
term(2) = " hai"
term(3) = " ba"
term(4) = " bèn"
term(5) = " n¨m"
term(6) = " s¸u"
term(7) = " bÈy"
term(8) = " t¸m"
term(9) = " chÝn"
'-------------------
tlop(1) = ""
tlop(2) = " ngµn"
tlop(3) = " triÖu"
tlop(4) = " tû"
tlop(5) = " ngµn tû"
'----------------
so1 = so
solop = 1
Do While so1 > 0
tg = so1
so1 = Int(so1 / 1000)
lop(solop) = tg - so1 * 1000
solop = solop + 1
Loop
i = solop - 1
Chu = ""
Do While i > 0
so1 = lop(i)
If so1 > 0 Then
hangtram = so1 100
hangchuc = (so1 - hangtram * 100) 10
hangdonvi = so1 - (so1 10) * 10
If hangtram > 0 Then
'Chu so hang tram c¢ nghªa so1>=100
Chu = Chu + term(hangtram) + " tr¨m"
End If
'Xet chu so hang chuc
If hangchuc > 1 Then
Chu = Chu + term(hangchuc) + " m­¬i"
ElseIf hangchuc = 1 Then
Chu = Chu + " m­êi"
ElseIf hangchuc = 0 And so1 > 100 And hangdonvi <> 0 Then
Chu = Chu + " linh"
End If
' Xet ch§ s– h…ng ­ón v«
If hangdonvi <> 5 And hangdonvi <> 0 Then
Chu = Chu + term(hangdonvi)
ElseIf hangdonvi = 5 And hangchuc <> 0 Then
Chu = Chu + " l¨m "
ElseIf hangdonvi = 5 And hangchuc = 0 Then
Chu = Chu + " n¨m "
End If
Chu = Chu + tlop(i)
End If
' Xet lop ke tiep
i = i - 1
Loop
Chu = Trim(Chu)
If Chu <> "" Then
Chu = UCase(Left(Chu, 1)) & Right(Chu, Len(Chu) - 1)
End If
CHUSO = Chu
End Function
------------------------------------

(Ghi chú: chữ một hai ba bốn ... trên với mã Font TCVN, bạn có thể đổi lại theo yêu cầu)

Tiếp tục đóng cửa sổ Visual Basic Editor, quay về bảng tính Excel, ví dụ bây giờ tại ô A1 bạn có số 12345 cần chuyển thành chữ tại A2, hãy gõ vào A2 công thức =CHUSO(A1). (Lưu ý chọn Font chữ phù hợp).

Test this please.
 

Xem nhiều

Webketoan Zalo OA