Thường xuyên xử lý và tính toán dữ liệu với bảng tính Excel, nếu với dữ liệu liên quan đến tiền tệ thì việc muốn đổi số thành chữ sẽ rất nhiều. Các bạn cũng có thể thủ công ngồi nhập chữ từ những con số, nhưng nếu với dữ liệu nhiều và đòi hỏi độ chính xác các bạn không thể ngồi nhập thủ công được.
Chuyển đổi số thành chữ viết bằng Code VBA
Các bạn có thể sử dụng 1 cách dễ dàng để giúp các bạn đổi số thành chữ một cách nhanh chóng và hiệu quả. Bài viết hướng dẫn cách đổi số thành chữ trong Excel 2010 bằng fucion, với Excel 2007 và Excel 2013 các bạn có thể thao tác tương tự.
Thường xuyên xử lý và tính toán dữ liệu với bảng tính Excel, nếu với dữ liệu liên quan đến tiền tệ thì việc muốn đổi số thành chữ sẽ rất nhiều.Các bạn cũng có thể thủ công ngồi nhập chữ từ những con số, nhưng nếu với dữ liệu nhiều và đòi hỏi độ chính xác các bạn không thể ngồi nhập thủ công được.
Hôm nay tinvanphong 1 cách dễ dàng để giúp các bạn đổi số thành chữ một cách nhanh chóng và hiệu quả.Bài viết hướng dẫn cách đổi số thành chữ trong Excel 2010 bằng fucion, với Excel 2007 và Excel 2013 các bạn có thể thao tác tương tự. với các file khác
Hướng Dẫn :
Bước 1 : Bạn cần phải lưu file dưới dạng xlsm để khi save lại file vẫn còn lưu code
Bước 2 : Bạn Cần bật thanh công cụ DEVOLOPER
Bước 3 : Tạo 1 Model trong
Bước 4 : Coppy toàn bộ CODE fucion phia dưới vào Model đó
'=============================== Function TVP_DocSo(conso) 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(conso) = "" Then DocSoUni = "" 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 = " t" & ChrW(7927) 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 = " 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(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 TVP_DocSo = "kh" & ChrW(244) & "ng" Else TVP_DocSo = Dau & Trim(docso) Else TVP_DocSo = conso End If End Function
Bước 5 : bạn tra Worksheet gõ =TVP_DocSO( Chọn con số muốn đọc ) ,
Chúc các bạn thành công