Code VBA chuyển số thành chữ trong MS Excel

Đầu tiên bạn mở MS Excel nhấn tổ hợp phím Alt + F11 để mở chế độ soạn thảo mã VBA.
Tiếp tục vào Insert/ Module rồi dán code sau đây vào vùng soạn thảo:
Public Function VND(chuyenso) As String
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")
lop3 = Array("", " tri" & ChrW(7879) & "u", " ngh" & ChrW(236) & "n", " t" & ChrW(7927))
'Stop
If Trim(chuyenso) = "" Then
VNDUni = ""
ElseIf IsNumeric(chuyenso) = True Then
If chuyenso < 0 Then dau = ChrW(226) & "m " Else dau = ""
chuyenso = Application.WorksheetFunction.Round(Abs(chuyenso), 0)
chuyenso = " " & chuyenso
chuyenso = Replace(chuyenso, ",", "", 1)
vt = InStr(1, chuyenso, "E")
If vt > 0 Then
sonhan = Val(Mid(chuyenso, vt + 1))
chuyenso = Trim(Mid(chuyenso, 2, vt - 2))
chuyenso = chuyenso & String(sonhan - Len(chuyenso) + 1, "0")
End If
chuyenso = Trim(chuyenso)
sochuso = Len(chuyenso) Mod 9
If sochuso > 0 Then chuyenso = String(9 - (sochuso Mod 12), "0") & chuyenso
VND = ""
i = 1
lop = 1
Do
n1 = Mid(chuyenso, i, 1)
n2 = Mid(chuyenso, i + 1, 1)
n3 = Mid(chuyenso, i + 2, 1)
baso = Mid(chuyenso, i, 3)
i = i + 3
If n1 & n2 & n3 = "000" Then
If VND <> "" And lop = 3 And Len(chuyenso) - i > 2 Then s123 = " t" & ChrW(7927) Else s123 = ""
Else
If n1 = 0 Then
If VND = "" 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 = " linh"
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(chuyenso) 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
VND = VND & s123
If i > Len(chuyenso) Then Exit Do
Loop
If VND = "" Then VND = "kh" & ChrW(244) & "ng" Else VND = dau & Trim(VND)
Else
VND = chuyenso
End If
End Function
Bạn có thể sử dụng hàm VND để chuyển đổi số sang chữ tiếng Việt trong bất kỳ ô nào trên bảng tính Excel bằng cách nhập công thức như sau: =VND(A1) (trong đó A1 là ô chứa số cần chuyển đổi). Kết quả sẽ hiển thị ngay trong ô đó.
* Định dạng:
=UPPER(LEFT(vnd(A2)&" đồng";1))&MID(vnd(A2)&" đồng";2;LEN(vnd(A2)&" đồng")-1)

Tìm kiếm
Được tài trợ
Thể loại
Đọc thêm
Nhiệm vụ hoàng kim võ lâm 1
CHUỖI NHIỆM VỤ - CHÍNH PHÁI BÍ MẬT TẦM LONG HỘI :
Điều...
Tổng hợp điểm lưu rương Võ lâm 1 và bản đồ luyện công từ 2x – 9x
Cấp
Map Luyện Công
Điểm lưu rương
Đường lên bãi
2x
Kiếm...
Hướng dẫn cài đặt thông báo số dư qua giọng nói VietinBank
Ngân hàng VietinBank triển khai tính năng OTT Voice thông báo số...
Chat GPT vừa có nạn nhân đầu tiên!
Cổ phiếu của EdTech Chegg đã mất 50% giá trị khi CEO của Chegg thừa nhận rằng sự...
Quy định về viết hoa trong văn bản hành chính
Trong thời gian vừa qua, việc viết hoa trong các văn bản hành chính...