|
Đổi số ra
chữ trong Excel |
|
Nếu
dùng Excel để lập phiếu thu tiền cho khách hàng, bạn
sẽ cần ghi số tiền bằng chữ. Để khỏi mất công ghi
“bằng tay”, ta hãy tạo một hàm trong Excel “chuyên
trị” việc này. Cách làm như sau: |
|
1.
Khởi động Excel, tạo một workbook mới (hoặc dùng
Book1 như mặc định). Chọn Tools\ Macro\ Visual Basic
Editor để mở cửa sổ soạn thảo VBA. Trong cửa sổ
Project Explorer (nếu không thấy thì chọn View\
Project Explorer để mở nó), chọn VBAProject (Book1).
Chọn Insert\ Module để thêm một module vào workbook. |
|
2. Gõ
nội dung hàm đổi số ra chữ SoRaChu(N) như đoạn mã 1
vào module mới tạo. |
|
Đoạn
mã 1 |
Function SoRaChu(ByVal NumCurrency As Currency) As
String
If NumCurrency = 0 Then
SoRaChu = "Không đồng"
Exit Function
End If
If NumCurrency > 922337203685477# Then ' Số lớn nhất
của loại CURRENCY
SoRaChu = "Không đổi được số lớn hơn
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
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 = "đồng" ‘ Bạn có thể thay đơn vị tiền tệ
khác ở đây
DonViLe = "xu"
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ẻ
PhanChan = Trim$(Str$(Int(NumCurrency)))
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 = "không " + DonViTien + " "
I = 5
Else
BangChu = ""
I = 0
End If
While I <= 5
Select Case I
Case 0
SoDoi = NganTy
Ten = "ngàn tỷ"
Case 1
SoDoi = Ty
Ten = "tỷ"
Case 2
SoDoi = Trieu
Ten = "triệu"
Case 3
SoDoi = Ngan
Ten = "ngàn"
Case 4
SoDoi = Dong
Ten = DonViTien
Case 5
SoDoi = SoLe
Ten = DonViLe
End Select
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
BangChu = Trim(BangChu) + IIf(Len(BangChu) = 0, "",
", ") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + " trăm ", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
BangChu = BangChu + "lẻ "
Else
If Muoi <> 0 Then
BangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + " mươi ", "mười ")
End If
End If
If Muoi <> 0 And DonVi = 5 Then
BangChu = BangChu + "lăm " + Ten + " "
Else
If Muoi > 1 And DonVi = 1 Then
BangChu = BangChu + "mốt " + Ten + " "
Else
BangChu = BangChu+IIf(DonVi <>
0,Trim(CharVND(DonVi))+" "+Ten+" ", Ten + " ")
End If
End If
Else
BangChu = BangChu + IIf(I = 4, DonViTien + " ", "")
End If
I = I + 1
Wend
If SoLe = 0 Then
BangChu = BangChu + "chẵn"
End If
Mid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))
SoRaChu = BangChu
End Function |
|
Bạn
để ý, hàm SoRaChu có phân biệt cách đọc số 1 (một
hay mốt), 5 (năm hay lăm), mươi hay mười và chỉ đổi
số có trị lớn nhất là 922,337, 203, 685, 477. Các
chữ Việt có dấu trong đoạn mã 1 có mã Unicode. |
|
3.
Chuyển sang cửa sổ Excel để kiểm tra hàm bằng cách
thử gõ vào ô bất kỳ, ví dụ: =SoRaChu(922337203,34).
Nếu êm xuôi thì chuyển sang bước kế tiếp. |
|
4. Mô
tả hàm để chọn chính xác tên hàm khi bạn sử dụng
công cụ Past Function. Trong cửa sổ Excel, chọn menu
Tools\ Macro\ Macros để hiển thị hộp thoại Macro. Gõ
tên hàm SoRaChu vào ô Macro name, rồi bấm Options để
mở tiếp hộp thoại Macro Options, gõ nội dung mô tả
hàm vào ô Description, bấm OK để đóng hộp thoại
Macro Options, cuối cùng bấm Cancel để đóng hộp
thoại Macro. |
5.
Ghi workbook lên đĩa thành tập tin TienBac.XLA (ví
dụ). Bạn phải đặt tập tin này đúng chỗ để mỗi lần
Excel khởi động sẽ nạp nó tự động.
Đối với Excel XP trên Windows XP:
C:\Documents and Settings\UserName\Application
Data\Microsoft\AddIns
Đối với Excel 2000 trên Windows 98:
C:\Windows\Application Data\Microsoft\AddIns
Đối với Excel 97 trên Windows 98:
C:\Program Files\Microsoft Office\Office\Library
Đóng Excel mà không cần ghi lại các thay đổi trên
Book1. |
|
6.
Dùng Windows Explorer để thêm mô tả cho add-in bằng
cách bấm chuột phải trên tên tập tin TienBac.XLA,
chọn mục Properties để mở hộp thoại Properties, chọn
thẻ Summary để gõ mô tả vào ô Comments, gõ tên của
add-in vào ô Title. Chọn nút OK để chấp nhận các
thông tin vừa nêu. |
|
7.
Khởi động lại Excel, cài đặt add-in vừa tạo cho
Excel bằng cách chọn trình đơn Tools\ Add-Ins để mở
hộp thoại Add-Ins, chọn tên add-in của ta trong danh
sách Add-Ins available, rồi bấm OK. |
|
Từ
đây trở về sau, mỗi lần mở Excel, bạn đương nhiên
dùng được hàm SoRaChu trong add-in TienBac.XLA. |
|
CHƯƠNG CAN CHÍP |
|
[Đầu trang] |
|