Cách đổi Số Ra Chữ Trong Excel Bằng Macro | DIỄN ĐÀN CÔNG THỨC

Đăng nhập

  1. BQT thông báo: Bạn sẽ tiết kiệm rất nhiều, rất nhiều thời gian khi bạn tuân thủ ĐIỀU KHOẢN SỬ DỤNG của diễn đàn. "Bạn dành 1 tiếng, 2 tiếng... để đăng bài, BQT chỉ cần 1 phút để xóa tất cả các bài đăng của bạn." Dismiss Notice
Cách đổi số ra chữ trong Excel bằng Macro

Thảo luận trong 'Máy Tính' bắt đầu bởi Social, Thg 2 3, 2017.

Lượt xem: 14,576

Tags:
  • cách đổi số ra chữ
  • cách đổi số ra chữ bằng excel
  • cách đổi số ra chữ trong excel bằng macro
  1. Social

    Social Administrator

    Rất nhiều từ khóa tìm kiếm trên mạng về cách đổi số sang chữ.
    Lập công thức số tiền bằng chữ trong Excel Hàm đổi số thành chữ trong Excel 2010 Phần mềm đổi số thành chữ AccHelper Hàm đổi số thành chữ trong Excel 2016 Code VBA đổi số thành chữ trong Excel Chuyển đổi số thành chữ Đổi số tiền thành chữ trong hóa đơn Hàm đổi số thành chữ trong Excel 2019Click to expand...
    Công thức đã tổng hợp hơn 5 cách, có file cài đặt và hướng dẫn đầy đủ Cách đổi số ra chữ trong Excel bằng Macro bạn làm các bước sau: 1. Mở tập tin Excel 2. Đoạn mã Macro luôn chạy ở mức "Security trung bình or thấp": chọn Tools-->Macro-->Security-->chọn Medium hoặc Low 3. Excel 2007: Vào chương trình Visual Basic: chọn Tools-->Macro-->Security-->Visual Basic Editor--> Hiện cửa sổ Microsoft Visual Basic. Excel 2010 - Excel 2013: Vào Tab Developer ---> Visual Basic 4. Trong cửa sổ Microsoft Visual Basic: chọn Insert --> Module--> xuất hiện khoảng trắng bên phải --> bạn "Copy" đoạn mã Macro dưới đây vào khoảng trắng này
    Function DocSoVni(conso) As String s09 = Array("", " moät", " hai", " ba", " boán", " naêm", " saùu", " baûy", " taùm", " chín") lop3 = Array("", " trieäu", " nghìn", " tyû") If Trim(conso) = "" Then DocSoVni = "" ElseIf IsNumeric(conso) = True Then If conso < 0 Then dau = "aâ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 = " tyû" Else s123 = "" Else If n1 = 0 Then If docso = "" Then s1 = "" Else s1 = " khoâng traêm" Else s1 = s09(n1) & " traê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öôøi" Else s2 = s09(n2) & " möôi" End If If n3 = 1 Then If n2 = 1 Or n2 = 0 Then s3 = " moät" Else s3 = " moát" ElseIf n3 = 5 And n2 <> 0 Then s3 = " laê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 DocSoVni = "khoâng" Else DocSoVni = dau & Trim(docso) Else DocSoVni = conso End If End Function Function DocSoUni(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 DocSoUni = "kh" & ChrW(244) & "ng" Else DocSoUni = dau & Trim(docso) Else DocSoUni = conso End If End FunctionClick to expand...
    . Save và turn off cửa sổ Microsoft Visual Basic 6. Tại cửa sổ Microsoft Excel ta sẽ test như sau:
    • Địa chỉ A1 gõ: 20123478
    • Địa chỉ A2 gõ: =DocSoUni(A1) hoặc =DocSoVni(A1)
    *Do đơn vị tiền tệ có thể là VNĐ, YEN, USD, EURO...nên kết hợp thêm lệnh xử lý text...bạn gõ lại như sau: =DocSoUni(A1)&" VNĐ" hoặc =DocSoVni(A1)&" USD" (nhớ thêm khoảng cách trong dấu "") **Chú thích: - Trong đoạn mã Macro có 2 dòng màu in đậm là DocSoVni và DocSoUni... đây là câu lệnh để đọc số theo dạng font Unicode hoặc Vni-Times...ai dùng font nào thì dùng câu lệnh đó hoặc các bạn có thể tải file doiso.rar và làm theo hướng dẫn: Bây giờ bạn mở một file Excel lên để Demo một số bất kỳ, hoặc có thể làm ngay trên file Excel thống kê của bạn. [​IMG] + Bước 2: Tiếp theo bạn click chọn File => chọn Options để chọn cài đặt. [​IMG] + Bước 3: Tại hộp thoại Excel Options bạn click vào Add-ins => rồi chọn Go như hình. [​IMG] + Bước 4: Tiếp theo tại hộp thoại Add-ins bạn click vào Browse... và chọn đến vị trí file mới tải về [​IMG] Bạn click chọn file vừa giải nén lúc nãy và nhấn OK để Load file Add-in về Excel. [​IMG] + Bước 5: Tiếp theo tại hộp thoại Add-ins bạn tích chọn file Doiso rồi click OK để nhập code VBA mới và thoát các hộp thoại. [​IMG] + Bước 6: Tại file Excel bạn chọn vị trí cần chuyển đổi số thành chữ, rồi nhập công thức =VND(A1) hoặc =VND(click vào giá trị số), phần A1 là ô chứa dãy số mà chúng ta muốn chuyển đổi thành giá trị chữ. [​IMG] Và đây là kết quả sau khi chúng ta thực hiện chuyển đổi số thành chữ thành công. [​IMG]
    Social, Thg 2 3, 2017 #1
  2. Social

    Social Administrator

    Hướng dẫn đổi số thành chữ bằng Add-In trong excel 2003, 2007, 2010, 2013, 2016, 365 Cách chuyển số thành chữ trong Excel Acchelper, cách lập công thức số tiền bằng chữ trong Excel đơn giản. Excel là 1 ứng dụng không thể thiếu khi làm Kế toán. Trường hợp công ty có dùng các Phần mềm kế toán thì cũng phải cần sử dụng thêm Excel để có thể lập các bảng biểu, bảng tính, bảng kê ...Congthuc.vn xin hướng dẫn cách chuyển số thành chữ trong Excel chi tiết bằng hình ảnh: [​IMG] -------------------------------------------------------------------------------------------------- Bước 1:Tải phần mềm đổi số thành chữ trong Excel AccHelper: -> Các bạn phải tải phần mềm Acchelper bên trên về -> Cài đặt -> Tiếp đó là chỉ cần dùng các hàm là xong nhé. Link tải: AccHelper.rar - Sau khi tải về, các bạn giải nén ra bằng cách: Bấm chuột phải vào File vừa tải về -> Chọn :“Extract Here” [​IMG] Các file trong bộ AccHelper: 1 -AccHelper.xll(Dùng Office từ 2007 trở lên) 2 -AccHelperEx.xla(chỉ dùng cho từ Excel 2003 trở về trước để hỗ trợ Unicode bởi hàm ToUNC) 3 - AccHelper.ini (lưu các tham số ngầm định của các hàm, có thể mở và sửa lại cho như ý!) 4 - Help.xls (Hướng dẫn sử dụng các hàm). Nếu máy bạn đã đang cài một Add-In đọc số nào đó có sử dụng tên hàm: VND, USD thì hãy gỡ bỏ add-in đó trước khi cài AccHelper. -------------------------------------------------------------------- Bước 2:Cài đặt công cụ đổi số thành chữ trong Excel: Chú ý:Các bạn cần xác định được là Máy tính của mình đang cài đặt Office phiên bản bao nhiêu nhé như: Office 2003 hay là Office 2010 ...-> Phải xác định mới tiến hành cài đặt được nhé. a. Cách chuyển số thành chữ trongExcel 2003: -Các bạn mở 1 File Excel bất kỳ - > Vào: “Tools” -->Add-ins: [​IMG] -Hộp thoại “Add-ins” xuất hiện:-> Chọn “Browse…” ->Chọn đường dẫn tới phần mềm mà các bạn tải về máy tính của bạn -> Chọn file có tên : “AccHelperEx.xla” [​IMG] - Sau khi chọn xong thì các bạn bấm nút : “Ok” trên hộp thoại. [​IMG] => Như vậy là các bạn đã cài đặt xong công cụ chuyển số thành chữ trong Excel 2003. Công thức chuyển số thành chữ, các bạnxem tiếp Bước 3 bên dưới nhé. ------------------------------------------------------------------------ b. Cách đổi số thành chữ trongExcel 2007, 2010, 2013 trở lên: - Các bạn mở 1 File Excel bất kỳ và làm theo hướng dẫn bên dưới: +) Với Excel 2007: [​IMG] -> Tiếp theo các bạn làm theo hướng dẫn như phần với Excel 2010 ngay bên dưới đây nhé. ---------------------------------------------------------- +) Với Excel 2010, 2013, 2016, 365: [​IMG] - Sau đó sẽ xuất hiện hộp thoại “Excel Options” -> Chọn: “Add-Ins” -> Chọn: “Go” theo hình dưới: [​IMG] - Tiếp đó sẽ xuất hiện tiếp hộp thoại: “Add-Ins” -> Chọn “Browse…” ->Chọn đường dẫn tới phần mềm mà các bạn vừa tải về máy tính của bạn-> Chọn file có tên :“AccHelper.xll” [​IMG] - Sau khi chọn xong thì các bạn bấm nút : “Ok” trên hộp thoại. [​IMG] => Như vậy là các bạn đã cài đặt xong công cụ chuyển số thành chữ trong Excel 2007, 2010, 2013, 2016... Công thức chuyển số thành chữ các bạn xem tiếp bước 3: ------------------------------------------------------------------------------- Bước 3:Công thức đổi số thành chữ trong Excel AccHelper: - Sau khi các bạn đã cài đặt Phần mềm đổi số thành chữ trong Excel AccHelper thành công -> Các muốn chuyển số thành chữ ở vị trí nào thì bấm chuột trái vào đó và gõ hàm:=VND(Ô số muốn chuyển thành chữ)-> Enter là xong, chi tiết như hình dưới: Ví dụ:=VND(B12) [​IMG] Kết quả như sau: [​IMG] ------------------------------------------------------------------ Một số chú ý: - NếuOffice từ 2007 trở lêncác bạn dùngfont UNICODEnhé. - NếuOffice 2003 trở về trướcnhư: Excel97/2000/2002(XP)/2003 Ví dụ: =VND(B12)trả về font TCVN3(ABC)là ngầm định.-> Muốn để đọc font Unicode thì công thức phải là=VNDW(B12)hoặc: =ToUNC(VND(B12)) (Hàm ToUNC() chuyển font ABC thành Unicode)
    Social, Thg 12 3, 2020 #2
  3. Social

    Social Administrator

    Cập nhật 2 cách đơn giản chuyển số thành chữ trong excel hay dùng trong công ty, doanh nghiệp 1. Cài đặt và cách sử dụng VnTools Và một điều quan trọng nữa là Add-ins này chỉ hỗ trợ cho các bản Excel phiên bản 32bit và nó không làm việc với bản 64bit đâu nha. Cách sử dụng VnTools + Bước 1: Bạn tải tiện ích VnTools ( size: 804kb) + Bước 2: Sau khi tải về => bạn nháy đúp chuột vào file vừa tải về hoặc là nhấn chuột phải => chọn Run as administrator để chạy với quyền quản trị. Nhấn Next. [​IMG] + Bước 3: Tiếp tục nhấn Next. [​IMG] + Bước 4: Đây là đường dẫn mặc định để cài tiện ích VnTools. Bạn cần nhớ đường dẫn này để lát nữa chúng ta sẽ dùng đến. [​IMG] + Bước 5: Tiếp tục nhấn Next => nhấn Install để bắt đầu cài đặt. [​IMG] + Bước 6: Nhấn Finish để kết thúc quá trình cài đặt. [​IMG] + Bước 7: Bây giờ mình sẽ mở một file Excel bất kỳ ra để làm nốt nhiệm vụ. Bạn nhấn vào nút Office Button => chọn Excel Options. Trong hướng dẫn này mình thử với Excel 2007 nhé. Còn đối với Word 2010 hoặc lớn hơn thì bạn có thể vào phần Add-ins theo hướng dẫn ở cách số 2 mình giới thiệu bên dưới. Còn đối với Word 2003 thì bạn vào Tools => chọn Add-ins rồi làm tương tự như bài hướng dẫn thôi. [​IMG] + Bước 8: Bạn tìm đến dòng Add-ins, trong phần Manage bạn chọn Excel Add-ins => nhấn chọn Go... như hình bên dưới. [​IMG] + Bước 9: Có thể sau khi cài đặt xong bạn sẽ thấy xuất hiện dòng NTD's Tools và được tích sẵn như hình bên dưới. Tuy nhiên, nếu không thấy thì bạn dòng này thì bạn hãy nhấn vào Browse... [​IMG] Sau đó tìm đến file Ufunctions.xlam như hình bên dưới. (File này nằm trong đường dẫn ở bước số 4 mình đã nói phía trên đó.) [​IMG] + Bước 10: Giờ thì bắt đầu thử nào. Ví dụ mình sẽ nhập một số bất kỳ vào ô B3 là 1102. Giờ bạn hãy đặt con trỏ chuột vào một ô bất kỳ (ô mà bạn muốn chuyển sang dạng chữ) => nhập công thức sau: =VND(B3) => nhấn Enter phát. [​IMG] Và đây là kết quả mình vừa thực hiện thử. Rất nhanh chóng và chính xác ! [​IMG] Note: Nếu như việc chuyển đổi từ số sang chữ bị lỗi thì bạn hãy làm lại Bước 9 bên trên nhé. Có nghĩa là bạn nhấn vào Browse... và nạp lại file Ufunctions.xlam. Ngoài tính năng chính đó là chuyển đối từ số sang dạng chữ trong Excel và Word ra thì tiện ích VnTools còn hỗ trợ bạn rất nhiều tính năng hữu ích khác. Cụ thể thì bạn có thể nhìn vào Tab vnTools là sẽ thấy: [​IMG] Mình sẽ ví dụ một tính năng nâng cao cho các bạn thấy. Bây giờ bạn hãy nhấn vào dòng tính năng Đổi số thành chữ (VN). [​IMG]
    • Tại ô cần chuyển đổi: Bạn nhấn vào dấu _ để chọn đến ô số bạn muốn chuyển đổi.
    • Tại ô chứa kết quả: Bạn nhấn vào dấu _ để chọn đến ô hiển thị kết quả.
    => Sau đó nhấn vào VND () để hiển thị kết quả. Kết quả là sẽ có chữ "đồng" hoặc "dolla"… ở cuối (cái này do bạn chọn phần đơn vị thôi )
    Social, Thg 12 4, 2020 #3
  4. Social

    Social Administrator

    2. Cách chuyển số thành chữ trong Excel kế toán hay dùng trong doanh nghiệp Cách này khá đơn giản và đọc được cả font chữ Unicode và VNI nha các bạn. Và với cách làm này thì số sẽ chuyển thành chữ như thế này. Ví dụ: Số tiền: 3.050.050 Thành chữ: Ba triệu không trăm năm mươi nghìn không trăm năm mươi đồng Okey, nếu như bạn muốn làm theo cách này thì xem phần hướng dẫn chi tiết sau đây: + Bước 1: link tải file + Bước 2: Giờ chúng ta sẽ thêm Add-in này vào Excel trước đã. Bạn vào File [​IMG] Sau đó chọn Options như hình bên dưới. [​IMG] + Bước 3: Bạn chọn vào mục Add-ins => và nhấn vào nút Go... [​IMG] Tiếp theo nhấn chọn Browse.... và tìm đến file Add-in chuyển số thành chữ mà bạn đã tải ở Bước 1 ý. [​IMG] Đây, bạn nhấn chọn => và nhấn OK để đồng ý. [​IMG] + Bước 4: Nhấn OK để đồng ý thêm Add-in vào Excel. [​IMG] + Bước 5: Okey, giờ chúng ta sẽ đi vào thực hành thử nào, rất dễ thôi Công thức, ta có 2 công thức đó là:
    • =UNI(Số_Tiền): Sử dụng khi bạn sử dụng Font chữ Unicode
    • =VNI(Số Tiền): Sử dụng công thức này khi bạn dùng Font chữ VNI
    Ví dụ cụ thể như sau, mình muốn chuyển số 3.050.050 (hiện đang ở ô B4 về dạng chữ) mình dùng công thức sau: =UNI(B4) [​IMG] Vâng, ngay sau khi nhấn Enter thì số đã được tự động chuyển về dạng chữ như hình bên dưới rồi đấy [​IMG] #3. Cách đổi số thành chữ trong Excel với code VBA + Bước 1: Bạn tải file Add-on tại đây / Link dự phòng / Link dự phòng => rồi giải nén file vừa tải về ra. Bây giờ bạn mở một file Excel lên để Demo một số bất kỳ, hoặc có thể làm ngay trên file Excel thống kê của bạn. [​IMG] + Bước 2: Tiếp theo bạn click chọn File => chọn Options để chọn cài đặt. [​IMG] + Bước 3: Tại hộp thoại Excel Options bạn click vào Add-ins => rồi chọn Go như hình. [​IMG] + Bước 4: Tiếp theo tại hộp thoại Add-ins bạn click vào Browse... và chọn đến vị trí file mới tải về [​IMG] Bạn click chọn file vừa giải nén lúc nãy và nhấn OK để Load file Add-in về Excel. [​IMG] + Bước 5: Tiếp theo tại hộp thoại Add-ins bạn tích chọn file Doiso rồi click OK để nhập code VBA mới và thoát các hộp thoại. [​IMG] + Bước 6: Tại file Excel bạn chọn vị trí cần chuyển đổi số thành chữ, rồi nhập công thức =VND(A1) hoặc =VND(click vào giá trị số), phần A1 là ô chứa dãy số mà chúng ta muốn chuyển đổi thành giá trị chữ. [​IMG] Và đây là kết quả sau khi chúng ta thực hiện chuyển đổi số thành chữ thành công. [​IMG] Lời kết OK, như vậy là mình vừa thực hiện chuyển đổi thành công 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, 2016, 365 điều được hết nha. Vâng, đến đây bài viết hướng dẫn đổi giá trị số thành chữ trong Excel đã xong. Hi vọng với chút thủ thuật cũng như kiến thức mà mình giới thiệu với các bạn trong bài viết này sẽ hữu ích hơn cho các bạn. Xem thêm bài viết hướng dẫn code số thành chữ trong excel
    Social, Thg 12 4, 2020 #4
(Bạn phải Đăng nhập hoặc Đăng ký để trả lời bài viết.) Show Ignored Content Tên tài khoản hoặc địa chỉ Email: Bạn đã có tài khoản rồi?
  • Tích vào đây để đăng ký
  • Vâng, Mật khẩu của tôi là:
  • Bạn đã quên mật khẩu?
Duy trì đăng nhập

Từ khóa » Code Chuyển Số Tiền Thành Chữ Trong Excel