Chuyển số thành chữ có đơn vị VND hoặc USD trong excel

Chuyển số thành chữ có đơn vị VND hoặc USD trong excel

Vấn đề chuyển số thành chữ rất hay gặp trong văn phòng như xuất hóa đơn (thành tiền bằng số và thành tiền bằng chữ). Bạn có thể lập công thức để tính thành tiền nhưng chỉ hiển thị dưới dạng số.

Bạn đang có nhu cầu chuyển dãy số đó thành số tiền tương ứng nhưng chưa biết phải làm như thế nào?. Bạn không thể lập công thức cho vấn đề trên bằng những hàm có sẵn trong excel.

Hãy yên tâm nhé, TTV sẽ hướng dẫn bạn xử lý vấn đề này và sau đây là đoạn code đã viết.

Thực hiện các bước sau:

Bước 1: Mở file excel bạn đang cần chuyển số thành chữ.

Bước 2: Sau đó bấm phím: Ctrl + F11 / Xuất hiện hộp thoại: Chọn Insert / chọn Module

Bước 3: xuất hiện 1 Module1. Copy đoạn code dưới đây vào phần giao diện trong Module1

(Đây là code chuyển thành Tiếng Việt (vnd))

Public Function VND(BaoNhieu)
Dim Ketqua, SoTien, Nhom, chu, dich, S1, S2, S3 As String
Dim I, J, Vitri As Byte, S As Double
Dim Hang, Doc, Dem
If BaoNhieu = 0 Then
Ketqua = “khoâng ñoàng”
Else
If Abs(BaoNhieu) > 999999999999.99 Then
Ketqua = “Soá quaù lôùn”
Else
If BaoNhieu < 0 Then
Ketqua = “Tröø” & Space(1)
Else
Ketqua = Space(0)
End If
SoTien = Format(Abs(BaoNhieu), “##############0.00”)
SoTien = Right(Space(15) & SoTien, 18)
Hang = Array(“None”, “traêm”, “möôi”, “gì ñoù”)
Doc = 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 I = 1 To 6
Nhom = Mid(SoTien, I * 3 – 2, 3)
If Nhom <> Space(3) Then
Select Case Nhom
Case “000”
If I = 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) = Doc(I)
For J = 1 To 3
dich = Space(0)
S = Val(Mid(Nhom, J, 1))
If S > 0 Then
dich = Dem(S) & Space(1) & Hang(J) & Space(1)
Else
If J = 1 And I > 1 And I < 6 And _
Val(Mid(SoTien, (I – 1) * 3 – 2, 3)) > 0 Then
dich = “khoâng” & Space(1) & Hang(J) & Space(1)
End If
End If
Select Case J
Case 2 And S = 1
dich = “möôøi” & Space(1)
Case 3 And S = 0 And Nhom <> Space(2) & “0”
dich = Hang(J) & Space(1)
Case 3 And S = 5 And Val(S2) > 0
dich = “l” & Mid(dich, 2)
Case 2 And S = 0 And S3 <> “0”
If I > 1 And Val(Mid(SoTien, (I – 1) * 3 – 2, 3)) > 0 Or (Val(S1) > 0) Then
dich = “leû” & Space(1)
End If
End Select
chu = chu & dich
Next J
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 I
End If
End If
VND = UCase(Left(Ketqua, 1)) & Trim(Mid(Ketqua, 2))
End Function

Bước 4: Làm tương tự bước 2 và bước 3 copy đoạn code chuyển thành tiếng anh (USD) vào Module2

Public Function USD(BaoNhieu)
Dim Ketqua, SoTien, Nhom, chu, dich, S1, S2, S3 As String
Dim I, J, Vitri As Byte, S As Double
Dim Hang, Doc, Dem
If BaoNhieu = 0 Then
Ketqua = “khoâng usd”
Else
If Abs(BaoNhieu) > 999999999999.99 Then
Ketqua = “Soá quaù lôùn”
Else
If BaoNhieu < 0 Then
Ketqua = “Tröø” & Space(1)
Else
Ketqua = Space(0)
End If
SoTien = Format(Abs(BaoNhieu), “###########0.00”)
SoTien = Right(Space(12) & SoTien, 15)
Hang = Array(“None”, “traêm”, “möôi”, “gì ñoù”)
Doc = Array(“None”, “tyû”, “trieäu”, “ngaøn”, “usd”, “cen”)
Dem = Array(“None”, “moät”, “hai”, “ba”, “boán”, “naêm”, _
“saùu”, “baûy”, “taùm”, “chín”)
For I = 1 To 5
Nhom = Mid(SoTien, I * 3 – 2, 3)
If Nhom <> Space(3) Then
Select Case Nhom
Case “000”
If I = 4 Then
chu = “usd” & Space(1)
Else
chu = Space(0)
End If
Case “,00”
chu = “chaün”
Case Else
S1 = Left(Nhom, 1)
S2 = Mid(Nhom, 2, 1)
S3 = Right(Nhom, 1)
chu = Space(0)
Hang(3) = Doc(I)
For J = 1 To 3
dich = Space(0)
S = Val(Mid(Nhom, J, 1))
If S > 0 Then
dich = Dem(S) & Space(1) & Hang(J) & Space(1)
End If
Select Case J
Case 2 And S = 1
dich = “möôøi” & Space(1)
Case 3 And S = 0 And Nhom <> Space(2) & “0”
dich = Hang(J) & Space(1)
Case 3 And S = 5 And S2 <> Space(1) And S2 <> “0”
dich = “l” & Mid(dich, 2)
Case 2 And S = 0 And S3 <> “0”
If (S1 >= “1” And S1 <= “9”) Or (S1 = “0” And I = 4) Then
dich = “leû” & Space(1)
End If
End Select
chu = chu & dich
Next J
End Select
Vitri = InStr(1, chu, “möôi moät”, 1)
If Vitri > 0 Then Mid(chu, Vitri, 9) = “möôi moát”
Ketqua = Ketqua & chu
End If
Next I
End If
End If
USD = UCase(Left(Ketqua, 1)) & Mid(Ketqua, 2)
End Function

Public Function VNS(BaoNhieu)
Dim Ketqua, SoTien, Nhom, chu, dich, S1, S2, S3 As String
Dim I, J, Vitri As Byte, S As Double
Dim Hang, Doc, Dem
If BaoNhieu = 0 Then
Ketqua = “khoâng ñoâla Myõ”
Else
If Abs(BaoNhieu) > 999999999999.99 Then
Ketqua = “Soá quaù lôùn”
Else
If BaoNhieu < 0 Then
Ketqua = “Tröø” & Space(1)
Else
Ketqua = Space(0)
End If
SoTien = Format(Abs(BaoNhieu), “###########0.00”)
SoTien = Right(Space(12) & SoTien, 15)
Hang = Array(“None”, “traêm”, “möôi”, “gì ñoù”)
Doc = Array(“None”, “tyû”, “trieäu”, “ngaøn”, “ñoâla Myõ”, “cent”)
Dem = Array(“None”, “moät”, “hai”, “ba”, “boán”, “naêm”, _
“saùu”, “baûy”, “taùm”, “chín”)
For I = 1 To 5
Nhom = Mid(SoTien, I * 3 – 2, 3)
If Nhom <> Space(3) Then
Select Case Nhom
Case “000”
If I = 4 Then
chu = “ñoàng” & Space(1)
Else
chu = Space(0)
End If
Case “,00”
chu = “chaün”
Case Else
S1 = Left(Nhom, 1)
S2 = Mid(Nhom, 2, 1)
S3 = Right(Nhom, 1)
chu = Space(0)
Hang(3) = Doc(I)
For J = 1 To 3
dich = Space(0)
S = Val(Mid(Nhom, J, 1))
If S > 0 Then
dich = Dem(S) & Space(1) & Hang(J) & Space(1)
End If
Select Case J
Case 2 And S = 1
dich = “möôøi” & Space(1)
Case 3 And S = 0 And Nhom <> Space(2) & “0”
dich = Hang(J) & Space(1)
Case 3 And S = 5 And S2 <> Space(1) And S2 <> “0”
dich = “l” & Mid(dich, 2)
Case 2 And S = 0 And S3 <> “0”
If (S1 >= “1” And S1 <= “9”) Or (S1 = “0” And I = 4) Then
dich = “leû” & Space(1)
End If
End Select
chu = chu & dich
Next J
End Select
Vitri = InStr(1, chu, “möôi moät”, 1)
If Vitri > 0 Then Mid(chu, Vitri, 9) = “möôi moát”
Ketqua = Ketqua & chu
End If
Next I
End If
End If
VNS = UCase(Left(Ketqua, 1)) & Mid(Ketqua, 2)
End Function

Bước 5: Đóng hộp thoại. Chuyển qua cửa sổ file excel. Bạn có thể sử dụng nhé.

Lưu ý: các ô này cần định dạng Font là nhóm VNI vì code thuộc loại bảng mã VNI Windows. (ví dụ: font VNI-Centur,…..)

= VND(chọn ô số) hoặc = USD(chọn ô số)

Lưu ý: File phải lưu dưới dạng Excel Macro nếu chưa đúng sẽ xuất hiện hộp thoại sau, bạn phải chọn “No” để lưu file mới nhé.

Chúc các bạn thành công!!!

Tham khảo thêm các khóa học tại TTV: https://tinhocvanphong.edu.vn/khoa-hoc-vba-macro/

Các khóa học khác: https://tinhocvanphong.edu.vn/lich-khai-giang/

CHI TIẾT LIÊN HỆ:

Hồ Chí Minh:

CS1: 84T/8 đường Trần Đình Xu, Phường Cô Giang – Quận 1 – Hồ Chí Minh

CS2: 213 đường 3/2, Phường 9 – Quận 10 – Hồ Chí Minh

CS3: 451 Điện Biên Phủ, Phường 25 – Quận Bình Thạnh – Hồ Chí Minh

Hotline: 0902.936.936 – 0977 781 414

Rate this post
0902.936.936