Tải Add-in về để cài vào máy: Account Help
Thiết lập cài Add-in với từng phiên bản office khác nhau 2003 và 2007
Sử dụng:
gõ hàm
=VND(giá trị số, loại font(1/2/3-mặc định3), “loại đơn vị tiền tệ”,”giá trị số lẻ”) để đổi tiếng việt
= USD để đổi tiếng anh
VD: A1=30,5
A2=VND(A1,,”USD”,”cent”) --> ba mươi USD năm mươi CENT
Ngoài ra có thể tham khảo code của chuyển đổi font khác ở bên dưới
Public Function VND(BaoNhieu)
If Val(BaoNhieu) = 0 Then
Ketqua = “Khoâng ñoàng”
Else
If Abs(BaoNhieu) > 1E+15 Then
Ketqua = “Soá quaù lôùn”
Else
If BaoNhieu < 0 Then Ketqua = “Tröø” & Space(1) Else Ketqua = Space(0)
SOTIEN = Format(Abs(BaoNhieu), “###############0.00”) ’18coät soá 2soá leû
SOTIEN = Right(Space(15) & SOTIEN, 1
Hang = Array(“None”, “traêm”, “möôi”, “gì ñoù”)
DONVI = Array(“None”, “ngaøn tyû”, “tyû”, “trieäu”, “ngaøn”, “ñoàng”, “xu”)
Dem = Array(“None”, “moât”, “hai”, “ba”, “boán”, “naêm”, “saùu”, “baûy”, “taùm”, “chín”)
For N = 1 To 6
Nhom = Mid(SOTIEN, N * 3 – 2, 3)
If Nhom <> Space(3) Then
Select Case Nhom
Case “000”
If N = 5 Then
Chu = “ñoàng” & Space(1)
Else
Chu = Space(0)
End If
Case “.00”, “,00”
Chu = “chaün”
Case Else
S1 = Left(Nhom, 1): S2 = Mid(Nhom, 2, 1): S3 = Right(Nhom, 1)
Chu = Space(0): Hang(3) = DONVI(N)
For K = 1 To 3
Dich = Space(0): S = Val(Mid(Nhom, K, 1))
If S > 0 Then
Dich = Dem(S) & Space(1) & Hang(K) & Space(1)
Else
If K = 1 And N > 1 And N < 6 And Val(Mid(SOTIEN, (N – 1) * 3 – 2, 3)) > 0 Then
Dich = “khoâng” & Space(1) & Hang(K) & Space(1)
End If
End If
Select Case K
Case 2 And S = 1
Dich = “möôøi” & Space(1)
Case 3 And S = 0 And Nhom <> Space(2) & “0”
Dich = Hang(K) & Space(1)
Case 3 And S = 5 And Val(S2) > 2
Dich = “l” & Mid(Dich, 2)
Case 2 And S = 0 And S3 <> “0”
If N > 1 And Val(Mid(SOTIEN, (N – 1) * 3 – 2, 3)) > 0 Or (Val(S1) > 0) Then
Dich = “leû” & Space(1)
End If
End Select
Chu = Chu & Dich
Next K
End Select
ViTri = InStr(1, Chu, “möôi moät”)
If ViTri > 0 Then Mid(Chu, ViTri, 9) = “möôi moát”
Ketqua = Ketqua & Chu
End If
Next N
End If
End If
VND = UCase(Left(Ketqua, 1)) & Trim(Mid(Ketqua, 2))
End Function
Thiết lập cài Add-in với từng phiên bản office khác nhau 2003 và 2007
Sử dụng:
gõ hàm
=VND(giá trị số, loại font(1/2/3-mặc định3), “loại đơn vị tiền tệ”,”giá trị số lẻ”) để đổi tiếng việt
= USD để đổi tiếng anh
VD: A1=30,5
A2=VND(A1,,”USD”,”cent”) --> ba mươi USD năm mươi CENT
Ngoài ra có thể tham khảo code của chuyển đổi font khác ở bên dưới
Public Function VND(BaoNhieu)
If Val(BaoNhieu) = 0 Then
Ketqua = “Khoâng ñoàng”
Else
If Abs(BaoNhieu) > 1E+15 Then
Ketqua = “Soá quaù lôùn”
Else
If BaoNhieu < 0 Then Ketqua = “Tröø” & Space(1) Else Ketqua = Space(0)
SOTIEN = Format(Abs(BaoNhieu), “###############0.00”) ’18coät soá 2soá leû
SOTIEN = Right(Space(15) & SOTIEN, 1
Hang = Array(“None”, “traêm”, “möôi”, “gì ñoù”)
DONVI = Array(“None”, “ngaøn tyû”, “tyû”, “trieäu”, “ngaøn”, “ñoàng”, “xu”)
Dem = Array(“None”, “moât”, “hai”, “ba”, “boán”, “naêm”, “saùu”, “baûy”, “taùm”, “chín”)
For N = 1 To 6
Nhom = Mid(SOTIEN, N * 3 – 2, 3)
If Nhom <> Space(3) Then
Select Case Nhom
Case “000”
If N = 5 Then
Chu = “ñoàng” & Space(1)
Else
Chu = Space(0)
End If
Case “.00”, “,00”
Chu = “chaün”
Case Else
S1 = Left(Nhom, 1): S2 = Mid(Nhom, 2, 1): S3 = Right(Nhom, 1)
Chu = Space(0): Hang(3) = DONVI(N)
For K = 1 To 3
Dich = Space(0): S = Val(Mid(Nhom, K, 1))
If S > 0 Then
Dich = Dem(S) & Space(1) & Hang(K) & Space(1)
Else
If K = 1 And N > 1 And N < 6 And Val(Mid(SOTIEN, (N – 1) * 3 – 2, 3)) > 0 Then
Dich = “khoâng” & Space(1) & Hang(K) & Space(1)
End If
End If
Select Case K
Case 2 And S = 1
Dich = “möôøi” & Space(1)
Case 3 And S = 0 And Nhom <> Space(2) & “0”
Dich = Hang(K) & Space(1)
Case 3 And S = 5 And Val(S2) > 2
Dich = “l” & Mid(Dich, 2)
Case 2 And S = 0 And S3 <> “0”
If N > 1 And Val(Mid(SOTIEN, (N – 1) * 3 – 2, 3)) > 0 Or (Val(S1) > 0) Then
Dich = “leû” & Space(1)
End If
End Select
Chu = Chu & Dich
Next K
End Select
ViTri = InStr(1, Chu, “möôi moät”)
If ViTri > 0 Then Mid(Chu, ViTri, 9) = “möôi moát”
Ketqua = Ketqua & Chu
End If
Next N
End If
End If
VND = UCase(Left(Ketqua, 1)) & Trim(Mid(Ketqua, 2))
End Function
HÀM ĐỔI SỐ SANG CHỮ
Option Explicit
Function VND(conso) As String
Dim S09, Lop3, Dau, Vt, S123, S1, S2, S3, LOP2, CHR1, CHR2, CHR3 As String
Dim Sonhan, Sochuso, I, Docso, Lop, N1, N2, N3, Baso As Long
‘………………………….SO TU 1 DEN 9 ………………………………………………….
S09 = Array(“”, ” M” & ChrW(7897) & “t”, ” Hai”, ” Ba”, ” B” & ChrW(7889) & “n”, ” N” & ChrW(259) & “m”, _
” S” & ChrW(225) & “u”, ” B” & ChrW(7843) & “y”, ” T” & ChrW(225) & “m”, ” Ch” & ChrW(237) & “n”)
‘…………………………..CHUOI NGHIN -TRIEU-TY………………………………………………………………………………………….
If Right(conso, 3) = “000” Or Len(conso) >= 13 Then Lop3 = Array(“”, ” Tri” & ChrW(7879) & “u”, ” Ngh” & ChrW(236) & “n”, ” T” & ChrW(7927) & “”) Else _
Lop3 = Array(“”, ” Tri” & ChrW(7879) & “u,”, ” Ngh” & ChrW(236) & “n,”, ” T” & ChrW(7927) & “,”)
‘…………………………..NGHIN TY-MUOI NGHIN TY-TRAM NGHIN TY……………………………………………………………………………..Or Len(conso) >= 13
‘If conso = 10 ^ 12 Or conso = 10 ^ 13 Or conso = 10 ^ 14 Or conso = 10 ^ 15 Then LOP2 = ” T” & ChrW(7927) & ” ” Else LOP2 = ” T” & ChrW(7927) & “,”
If Abs(Right(conso, 11)) > 0 Then LOP2 = ” T” & ChrW(7927) & “, ” Else LOP2 = ” T” & ChrW(7927) & “”
‘…………………………………………………………………………………………………………………………………………..
If Abs(conso) > 999999999999999# Then
MsgBox “SO QUÁ LON”
VND = “SO QUÁ LON”
Exit Function
End If
If Trim(conso) = “” Then
VND = “”
ElseIf IsNumeric(conso) = True Then
If conso < 0 Then Dau = ChrW(226) & “m ” Else Dau = “”
conso = Application.WorksheetFunction.Round(Abs(conso), 0)
conso = ” ” & conso
conso = Replace(conso, “,”, “”, 1)
Vt = InStr(1, conso, “E”)
If Vt > 0 Then
Sonhan = Val(Mid(conso, Vt + 1))
conso = Trim(Mid(conso, 2, Vt – 2))
conso = conso & String(Sonhan – Len(conso) + 1, “0”)
End If
conso = Trim(conso)
Sochuso = Len(conso) Mod 9
If Sochuso > 0 Then conso = String(9 – (Sochuso Mod 12), “0”) & conso
Docso = “”
I = 1
Lop = 1
Do
N1 = Mid(conso, I, 1)
N2 = Mid(conso, I + 1, 1)
N3 = Mid(conso, I + 2, 1)
Baso = Mid(conso, I, 3)
I = I + 3
If N1 & N2 & N3 = “000” Then
If Docso <> “” And Lop = 3 And Len(conso) – I > 2 Then S123 = LOP2 Else S123 = “”
Else
If N1 = 0 Then
If Docso = “” Then S1 = “” Else S1 = ” Kh” & ChrW(244) & “ng Tr” & ChrW(259) & “m”
Else
S1 = S09(N1) & ” Tr” & ChrW(259) & “m”
End If
If N2 = 0 Then
If S1 = “” Or N3 = 0 Then
S2 = “”
Else
S2 = ” L” & ChrW(7867)
End If
Else
If N2 = 1 Then S2 = ” M” & ChrW(432) & ChrW(7901) & “i” Else S2 = S09(N2) & ” M” & ChrW(432) & ChrW(417) & “i”
End If
If N3 = 1 Then
If N2 = 1 Or N2 = 0 Then S3 = ” M” & ChrW(7897) & “t” Else S3 = ” M” & ChrW(7889) & “t”
ElseIf N3 = 5 And N2 <> 0 Then
S3 = ” L” & ChrW(259) & “m”
Else
S3 = S09(N3)
End If
If I > Len(conso) Then
S123 = S1 & S2 & S3
Else
S123 = S1 & S2 & S3 & Lop3(Lop)
End If
End If
Lop = Lop + 1
If Lop > 3 Then Lop = 1
Docso = Docso & S123
If I > Len(conso) Then Exit Do
Loop
If Docso = “” Then VND = “Kh” & ChrW(244) & “ng” Else VND = Dau & Trim(Docso) & ” ” & ChrW(272) & ChrW(7891) & “ng.”
Else
VND = conso
End If
End Function