Mở VB lên và dán đoạn code này vào nhé :
Function VND(ByVal NumCurrency As Currency) As String
If NumCurrency = 0 Then
VND = "Không đồng"
Exit Function
End If
If NumCurrency > 922337203685477# Then
VND = "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))
VND = BangChu
End Function
(dùng mã unicode nhé pà con.)
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ụ: =VND(922337203,34). Nếu êm xuôi thì chuyển sang bước kế tiếp.
4. Chọn Files - > Save as -> save as type - > Micorossoft office excell add-ins ( *.xla) ở dưới -> lưu name = TS.
5. 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 VND 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 VND trong add-in VND.XLA.