Xin Code Chuyển Số Thành Chữ Trong Excel Đầy Đủ, Code Chuyển Số Thành Chữ Trong Excel

3 cách đổi số thành chữ đơn giản trong Excel dùng hàm, VBA và Add-ins AccHelper

Đổi số thành chữ là một công việc gần như gặp hằng ngày với các bạn làm ủy nhiệm chi ngân hàng, viết hóa đơn, thu chi tiền mặt, phiếu lương…Nếu làm thủ công thì sẽ rất mất thời gian và dễ sai sót. Dân Tài Chính sẽ hướng dẫn bạn 3 cách để chuyển số sang chữ trong excel cực kì đơn giản, nhanh và chính xác:

Cách 1: Sử dụng hàm trực tiếp, không dùng VBA hay Add-ins.

Đang xem: Code chuyển số thành chữ trong excel

*

Đầu tiên bạn tải file có công thức sẵn này về: https://drive.google.com/file/d/1-WoKNnEWd2LdwTEm61UXja6sIL19B937/viewSau đó bạn nhập số cần đọc vào ô B2 như hình bên trên là xong. Bạn có thể copy nguyên phần công thức đó vào bảng tính hiện tại của bạn sau đó link phần chữ qua là được.

Cách 2: Sử dụng VBA để chuyển số thành chữ

Bạn không phải là người rành về VBA nên nghe có vẻ sợ nhưng đừng lo, sẽ rất đơn giản. Bạn chỉ cần 4 bước sau để thêm đoạn mã VBA đổi số thành chữ vào bảng tính của bạn:Bước 1: Mở bảng tính mà bạn cần đánh vần các con số.Bước 2: Nhấn Alt + F11 để mở cửa sổ trình soạn thảo Visual Basic.Bước 3: Nếu bạn đang mở nhiều tệp tin, hãy chọn bảng tính cần thiết bằng cách sử dụng danh sách các tệp ở bên trái của trình soạn thảo (tệp sẽ được đánh dấu màu xanh).Bước 4: Trong trình đơn chỉnh sửa hãy vào Insert-> Module .

*

Bước 5: Bạn sẽ thấy cửa sổ có tên YourBook – Module1. Chọn tất cả mã trong khung bên dưới và dán nó vào cửa sổ này.

Xem thêm: đồ án tốt nghiệp điện tử viễn thông bách khoa

*

Function UnicodeChar(UniCharCode As String) As StringOn Error GoTo LoiDim strDim desStr As StringDim IIf Mid(UniCharCode, 1, 1) = “;” ThenUniCharCode = Mid(UniCharCode, 2)End IfIf Right(UniCharCode, 1) = “;” ThenUniCharCode = Mid(UniCharCode, 1, Len(UniCharCode) – 1)End Ifstr = UniCharCodestr = Split(str, “;”)For I = LBound(str) To UBound(str)desStr = desStr & ChrW$(“&H” & str(I))NextUnicodeChar = desStrLoi:Exit FunctionEnd Function

Function vnd(ByVal NumCurrency As Currency) As StringStatic CharVND(9) As String, BangChu As String, I As IntegerDim SoLe, SoDoi As Integer, PhanChan, Ten As StringDim DonViTien As String, DonViLe As StringDim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As IntegerDim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As IntegerNumCurrency = Round(NumCurrency, 0)DonViTien = “;111;1ED3;6E;67” ‘ d?ngDonViLe = “;78;75” ‘ xuIf NumCurrency = 0 Thenvnd = UnicodeChar(“;4B;68;F4;6E;67;20” & DonViTien)Exit FunctionEnd IfIf NumCurrency > 922337203685477# Then ‘ S? l?n nh?t c?a lo?i CURRENCYvnd = UnicodeChar(“;4B;68;F4;6E;67;20;111;1ED5;69;20;111;1B0;1EE3;63;20;73” & _“;1ED1;20;6C;1EDB;6E;20;68;1A1;6E;20;39;32;32;2C;33;33;37” & _“;2C;32;30;33;2C;36;38;35;2C;34;37;37”)Exit FunctionEnd IfCharVND(1) = “;6D;1ED9;74” ‘ m?tCharVND(2) = “;68;61;69” ‘ haiCharVND(3) = “;62;61” ‘ baCharVND(4) = “;62;1ED1;6E” ‘ b?nCharVND(5) = “;6E;103;6D” ‘ namCharVND(6) = “;73;E1;75” ‘ s?uCharVND(7) = “;62;1EA3;79” ‘ b?yCharVND(8) = “;74;E1;6D” ‘ t?mCharVND(9) = “;63;68;ED;6E” ‘ ch?nSoLe = Int((NumCurrency – Int(NumCurrency)) * 100) ‘ 2 k? s?PhanChan = Trim$(str$(Int(NumCurrency)))PhanChan = Space(15 – Len(PhanChan)) + PhanChanNganTy = 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 ThenBangChu = “;6B;68;F4;6E;67;20” + DonViTien + “;20”I = 5ElseBangChu = “”I = 0End If‘—————————————————–‘ B?t d?u d?i‘—————————————————–While I Select Case ICase 0SoDoi = NganTyTen = “;6E;67;E0;6E;20;74;1EF7” ‘ ng?n t?Case 1SoDoi = TyTen = “;74;1EF7” ‘ t?Case 2SoDoi = TrieuTen = “;74;72;69;1EC7;75” ‘ tri?uCase 3SoDoi = NganTen = “;6E;67;E0;6E” ‘ ng?nCase 4SoDoi = DongTen = DonViTien ‘ d?ngCase 5SoDoi = SoLeTen = DonViLe ‘ xuEnd SelectIf SoDoi 0 ThenTram = Int(SoDoi / 100)Muoi = Int((SoDoi – Tram * 100) / 10)DonVi = (SoDoi – Tram * 100) – Muoi * 10If Right(BangChu, 3) = “;20” ThenBangChu = Left(BangChu, Len(BangChu) – 3)End IfBangChu = BangChu + IIf(Len(BangChu) = 0, “”, “;2C;20”) + _IIf(Tram 0, Trim(CharVND(Tram)) + “;20;74;72;103;6D;20”, “”)If Muoi = 0 And Tram 0 And DonVi 0 ThenBangChu = BangChu + “;6C;1EBB;20”ElseIf Muoi 0 ThenBangChu = BangChu + IIf(Muoi 0 And Muoi 1, _Trim(CharVND(Muoi)) + “;20;6D;1B0;1A1;69;20”, “;6D;1B0;1EDD;69;20”)End IfEnd IfIf Muoi 0 And DonVi = 5 ThenBangChu = BangChu + “;6C;103;6D;20” + Ten + “;20”ElseIf Muoi > 1 And DonVi = 1 ThenBangChu = BangChu + “;6D;1ED1;74;20” + Ten + “;20”ElseBangChu = BangChu + IIf(DonVi 0, Trim(CharVND(DonVi)) + “;20” + Ten, Ten) + “;20”End IfEnd IfElseBangChu = BangChu + IIf(I = 4, DonViTien + “”, “”)End IfI = I + 1WendIf SoLe = 0 ThenBangChu = BangChu + IIf(Right(BangChu, 3) = “;20”, “”, “;20”) + “;63;68;1EB5;6E”End IfBangChu = UnicodeChar(BangChu)‘??i sang ti?ng Vi?t Unicode‘ ??i ch? c?i d?u ti?n th?nh ch? hoaMid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))vnd = BangChuEnd Function

Nếu bị lỗi font thì các bạn tải file này về nhé, code đã có sẵn trong file:https://drive.google.com/file/d/1DDzrpj0wObNZkWiBDYiXzNJyq1I9lzYC/view

Bước 6: Bạn quay lại bảng tính vàsử dụng hàm VND để đọc số. Nhập =VND(B2) vào ô nơi bạn cần lấy số được viết bằng từ. Ở đây B2 là địa chỉ của ô có số hoặc số.

*

Lưu ý khi lưu bảng tính có VBA bạn phải lưu với định dạng .xlsm thì mới lưu được nhé.

Cách 3: Sử dụng Add-ins AccHelper để đọc số

Accounting Helper là một Add-ins đọc số đa năng vô cùng mạnh mẽ dành cho Excel:– Cung cấp các hàm đọc số thành chữ bằng tiếng Anh, Việt bởi các loại font chữ TCVN3 (ABC), VNI, UNICODE. Các hàm: VND(), USD(), Num2Str().– Cung cấp hàm chuyển đổi font chữ từ TCVN3, VNI sang UNICODE. Hàm ToUNC().

Xem thêm: Sử Dụng Phần Mềm Đo Diện Tích Đất Trên Ios 1, Gps Fields Area Measure

Bạn tải Add-ins về tại đây, tiến hành giải nén và làm theo hướng dẫn trong file huongdan.txt nhéhttps://drive.google.com/file/d/1M0rAXWu7opkdlIiZ0_BD3h0PXqrPHb7m/view

Vậy là bạn đã có 3 cách chuyển số thành chữ trên Excel 2010 rồi nhé, bạn cũng có thể áp dụng tương tự trên Excel 2003, 2007, 2013, 2016 đến 2019 đều được. Nếu bạn gặp khó khăn trong lúc thực hiện có thể để lại bình luận bên dưới mình sẽ hỗ trợ.

Xem thêm bài viết thuộc chuyên mục: Excel