.st0{fill:#FFFFFF;}

Hướng dẫn cách chuyển tiếng việt có dấu thành không dấu trên Excel 

 Tháng Chín 22, 2021

By  Lê Đình Chi

Bạn đã bao giờ gặp tình huống phải chuyển đổi tiếng việt có dấu về dạng không dấu trên Excel chưa? Làm thế nào để bỏ dấu tiếng việt trong các đoạn văn bản (đoạn text) ở trong một ô hay 1 vùng ô trên Excel? Hãy cùng zik.vn đi tìm câu trả lời cho các câu hỏi này nhé. Bật mí là chúng ta có tới 2 phương pháp khác nhau để làm điều này. Hãy tìm hiểu ngay nào.

Dùng Unikey để bỏ dấu tiếng việt trong Excel

Unikey là bộ gõ tiếng việt khá phổ biến mà hầu như ai cũng có. Nếu chưa có sẵn ứng dụng này, bạn có thể tải bộ cài Unikey từ địa chỉ:

http://unikey.vn/vietnam/

Sau khi cài đặt xong, chúng ta sẽ thực hiện từng bước như sau:

Bước 1: Xem lại font chữ đang sử dụng

Mỗi font chữ sẽ gắn liền với 1 bộ gõ (bảng mã) khác nhau. Việc hiểu đúng về các loại font chữ thuộc bảng mã nào sẽ giúp bạn thực hiện thao tác chuyển đổi bỏ dấu chính xác hơn. Dưới đây là một số loại font chữ phổ biến thường sử dụng ở Việt Nam:

  • Các Font như Arial, Times New Roman, Calibri… thuộc bảng mã Unicode
  • Các Font như .VnTimes, .VnTimesH… (bắt đầu với chữ .Vn) thuộc bảng mã TCVN3
  • Các Font như VNI-Times… (bắt đầu với chữ VNI) thuộc bảng mã VNI Windows

Vị trí kiểm tra font chữ nằm ở nhóm Font trên thẻ Home. Ví dụ:

kiểm tra font chữ sử dụng trong excel trên thẻ home

Đoạn nội dung trong vùng A2:A4 có font là Times New Roman, thuộc bảng mã Unicode.

Bước 2: Sao chép nội dung cần loại bỏ dấu.

Chú ý: Trước khi thực hiện bước này, bạn cần đảm bảo nội dung trong mỗi ô phải được hiển thị đầy đủ (có thể nhìn đầy đủ bằng mắt thường). Nếu hiển thị không đầy đủ có thể khiến kết quả chuyển đổi không chính xác như ý muốn.

Thao tác copy như sau:

  • Bôi đen vùng ô cần copy (chọn các ô cần copy)
  • Bấm phím tắt để copy: Ctrl + C (hoặc bấm chuột phải tài vùng đang chọn, bấm chọn mục Copy)

Bước 3: Sử dụng Unikey để thực hiện bỏ dấu tiếng việt

Việc tiếp theo là bạn bấm chuột phải vào biểu tượng Unikey ở góc bên phải phía dưới màn hình máy tính, chọn mục Công cụ… (phím tắt là Ctrl + Shift + F6):

mở công cụ chuyển đổi của Unikey

Khi thực hiện thao tác này, bảng công cụ (Unikey Toolkit) sẽ mở ra.

Trong bảng chuyển đổi, bạn thực hiện các bước sau:

  1. Kiểm tra đúng bảng mã Nguồn và mã Đich giống nhau, cùng là bảng mã của font chữ bạn đang sử dụng
  2. Bấm vào Lựa chọn là Loại bỏ dấu
  3. Bấm vào nút Chuyển mã, sẽ xuất hiện thông báo thành công là “Successfully converted”:
  4. Bấm Đóng để đóng bảng chuyển đổi lại (nếu muốn, không bắt buộc)

Bước 4: Dán kết quả vừa thu được ở bước 3 vào vị trí cần lấy kết quả

Tại vị trí muốn lấy kết quả (ví dụ ô B2), bạn bấm lệnh dán (Phím tắt Ctrl + V), chúng ta thu được kết quả như sau:

Chú ý: Khi dán kết quả sẽ cần sử dụng tới 2 cột (dù khi copy nội dung để chuyển đổi chỉ là 1 cột). Do đó bạn cần đảm bảo luôn có 2 cột trống để hiển thị đầy đủ kết quả mà không làm mất nội dung ở cột khác.

Tham khảo thêm: Cách gõ dấu tiếng Việt, dùng gõ tắt, chuyển mã với Unikey.

Dùng hàm trong VBA để bỏ dấu tiếng việt

Bản thân Excel không cung cấp sẵn hàm để thực hiện việc bỏ dấu tiếng việt. Muốn có hàm để thực hiện việc này, bạn cần biết cách viết hàm tự tạo trong VBA. Sau đây chúng ta cùng tìm hiểu cách tạo hàm bỏ dấu tiếng việt trong Excel bằng VBA:

Tham khảo: Cách viết code trong VBA

Bước 1: Mở cửa sổ VBA (phím tắt Alt + F11), tạo mới 1 Module

Bước 2: Bạn hãy sao chép đoạn code sau đây và dán vào cửa sổ viết code trong Module vừa tạo ở bước 1:

Function bo_dau_tieng_viet(Text As String) As String
  Dim AsciiDict As Object
  Set AsciiDict = CreateObject("scripting.dictionary")
  AsciiDict(192) = "A"
  AsciiDict(193) = "A"
  AsciiDict(194) = "A"
  AsciiDict(195) = "A"
  AsciiDict(196) = "A"
  AsciiDict(197) = "A"
  AsciiDict(199) = "C"
  AsciiDict(200) = "E"
  AsciiDict(201) = "E"
  AsciiDict(202) = "E"
  AsciiDict(203) = "E"
  AsciiDict(204) = "I"
  AsciiDict(205) = "I"
  AsciiDict(206) = "I"
  AsciiDict(207) = "I"
  AsciiDict(208) = "D"
  AsciiDict(209) = "N"
  AsciiDict(210) = "O"
  AsciiDict(211) = "O"
  AsciiDict(212) = "O"
  AsciiDict(213) = "O"
  AsciiDict(214) = "O"
  AsciiDict(217) = "U"
  AsciiDict(218) = "U"
  AsciiDict(219) = "U"
  AsciiDict(220) = "U"
  AsciiDict(221) = "Y"
  AsciiDict(224) = "a"
  AsciiDict(225) = "a"
  AsciiDict(226) = "a"
  AsciiDict(227) = "a"
  AsciiDict(228) = "a"
  AsciiDict(229) = "a"
  AsciiDict(231) = "c"
  AsciiDict(232) = "e"
  AsciiDict(233) = "e"
  AsciiDict(234) = "e"
  AsciiDict(235) = "e"
  AsciiDict(236) = "i"
  AsciiDict(237) = "i"
  AsciiDict(238) = "i"
  AsciiDict(239) = "i"
  AsciiDict(240) = "d"
  AsciiDict(241) = "n"
  AsciiDict(242) = "o"
  AsciiDict(243) = "o"
  AsciiDict(244) = "o"
  AsciiDict(245) = "o"
  AsciiDict(246) = "o"
  AsciiDict(249) = "u"
  AsciiDict(250) = "u"
  AsciiDict(251) = "u"
  AsciiDict(252) = "u"
  AsciiDict(253) = "y"
  AsciiDict(255) = "y"
  AsciiDict(352) = "S"
  AsciiDict(353) = "s"
  AsciiDict(376) = "Y"
  AsciiDict(381) = "Z"
  AsciiDict(382) = "z"
  AsciiDict(258) = "A"
  AsciiDict(259) = "a"
  AsciiDict(272) = "D"
  AsciiDict(273) = "d"
  AsciiDict(296) = "I"
  AsciiDict(297) = "i"
  AsciiDict(360) = "U"
  AsciiDict(361) = "u"
  AsciiDict(416) = "O"
  AsciiDict(417) = "o"
  AsciiDict(431) = "U"
  AsciiDict(432) = "u"
  AsciiDict(7840) = "A"
  AsciiDict(7841) = "a"
  AsciiDict(7842) = "A"
  AsciiDict(7843) = "a"
  AsciiDict(7844) = "A"
  AsciiDict(7845) = "a"
  AsciiDict(7846) = "A"
  AsciiDict(7847) = "a"
  AsciiDict(7848) = "A"
  AsciiDict(7849) = "a"
  AsciiDict(7850) = "A"
  AsciiDict(7851) = "a"
  AsciiDict(7852) = "A"
  AsciiDict(7853) = "a"
  AsciiDict(7854) = "A"
  AsciiDict(7855) = "a"
  AsciiDict(7856) = "A"
  AsciiDict(7857) = "a"
  AsciiDict(7858) = "A"
  AsciiDict(7859) = "a"
  AsciiDict(7860) = "A"
  AsciiDict(7861) = "a"
  AsciiDict(7862) = "A"
  AsciiDict(7863) = "a"
  AsciiDict(7864) = "E"
  AsciiDict(7865) = "e"
  AsciiDict(7866) = "E"
  AsciiDict(7867) = "e"
  AsciiDict(7868) = "E"
  AsciiDict(7869) = "e"
  AsciiDict(7870) = "E"
  AsciiDict(7871) = "e"
  AsciiDict(7872) = "E"
  AsciiDict(7873) = "e"
  AsciiDict(7874) = "E"
  AsciiDict(7875) = "e"
  AsciiDict(7876) = "E"
  AsciiDict(7877) = "e"
  AsciiDict(7878) = "E"
  AsciiDict(7879) = "e"
  AsciiDict(7880) = "I"
  AsciiDict(7881) = "i"
  AsciiDict(7882) = "I"
  AsciiDict(7883) = "i"
  AsciiDict(7884) = "O"
  AsciiDict(7885) = "o"
  AsciiDict(7886) = "O"
  AsciiDict(7887) = "o"
  AsciiDict(7888) = "O"
  AsciiDict(7889) = "o"
  AsciiDict(7890) = "O"
  AsciiDict(7891) = "o"
  AsciiDict(7892) = "O"
  AsciiDict(7893) = "o"
  AsciiDict(7894) = "O"
  AsciiDict(7895) = "o"
  AsciiDict(7896) = "O"
  AsciiDict(7897) = "o"
  AsciiDict(7898) = "O"
  AsciiDict(7899) = "o"
  AsciiDict(7900) = "O"
  AsciiDict(7901) = "o"
  AsciiDict(7902) = "O"
  AsciiDict(7903) = "o"
  AsciiDict(7904) = "O"
  AsciiDict(7905) = "o"
  AsciiDict(7906) = "O"
  AsciiDict(7907) = "o"
  AsciiDict(7908) = "U"
  AsciiDict(7909) = "u"
  AsciiDict(7910) = "U"
  AsciiDict(7911) = "u"
  AsciiDict(7912) = "U"
  AsciiDict(7913) = "u"
  AsciiDict(7914) = "U"
  AsciiDict(7915) = "u"
  AsciiDict(7916) = "U"
  AsciiDict(7917) = "u"
  AsciiDict(7918) = "U"
  AsciiDict(7919) = "u"
  AsciiDict(7920) = "U"
  AsciiDict(7921) = "u"
  AsciiDict(7922) = "Y"
  AsciiDict(7923) = "y"
  AsciiDict(7924) = "Y"
  AsciiDict(7925) = "y"
  AsciiDict(7926) = "Y"
  AsciiDict(7927) = "y"
  AsciiDict(7928) = "Y"
  AsciiDict(7929) = "y"
  AsciiDict(8363) = "d"
  Text = Trim(Text)
  If Text = "" Then Exit Function
  Dim Char As String, _
    NormalizedText As String, _
    UnicodeCharCode As Long, _
    i As Long
  'Remove accent marks (diacritics) from text
  For i = 1 To Len(Text)
    Char = Mid(Text, i, 1)
    UnicodeCharCode = AscW(Char)
    If (UnicodeCharCode < 0) Then
      'See http://support.microsoft.com/kb/272138
      UnicodeCharCode = 65536 + UnicodeCharCode
    End If
    If AsciiDict.Exists(UnicodeCharCode) Then
      NormalizedText = NormalizedText & AsciiDict.Item(UnicodeCharCode)
    Else
      NormalizedText = NormalizedText & Char
    End If
  Next
  bo_dau_tieng_viet = NormalizedText
End Function

Bước 3: Trở về màn hình làm việc Excel. Bây giờ bạn đã có thể sử dụng hàm bo_dau_tieng_viet được rồi.

Một số lưu ý:

  • Bạn cần lưu file dưới dạng Enable-macro Workbook (.xlsm) nếu không sẽ mất hết các code đã có (khi đóng file), bởi dạng file thông thường .xlsx không cho phép lưu trữ các đoạn code trong VBA.
  • Code nằm ở file nào thì chỉ file đó sử dụng được mà thôi. Do đó khi mở file khác không có chứa đoạn code trên thì bạn sẽ không thấy hàm bo_dau_tieng_viet.

Kết luận

Hy vọng rằng qua bài viết này các bạn đã có thể biết thêm nhiều kiến thức bổ ích để áp dụng vào trong công việc.

Việc sử dụng VBA trong Excel đem lại rất nhiều lợi ích, ngoài việc tạo ra các hàm theo ý muốn, bạn còn có thể tự động hóa cho các thao tác thường xuyên lặp đi lặp lại, hay biến file excel thành một phần mềm giúp làm việc hiệu quả hơn.

Bạn có thể tìm hiểu khóa học VBAG01 – Tuyệt đỉnh VBA – Viết code trong tầm tay của zik.vn. Đây là khóa học hướng dẫn bạn cách viết code trong VBA từ A đến Z, dành cho người mới bắt đầu để có thể phát triển tư duy lập trình, nhanh chóng nắm được cách ứng dụng VBA vào công việc. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký tham gia khóa học này.

Nếu có bất kỳ thắc mắc gì bạn có thể góp ý, phàn hồi ngay dưới bài viết này để chúng tôi có thể giải quyết mọi thắc mắc của bạn một cách sớm nhất.

Tải file Excel có hàm bỏ dấu tiếng việt

Các bạn có thể tải file Excel sử dụng trong bài viết tại địa chỉ bên dưới:


Đánh giá bài viết này

zik.vn – Nền tảng học online duy nhất tại Việt Nam tập trung vào phát triển kỹ năng làm việc dành cho người đi làm

Với sứ mệnh: Mang cơ hội phát triển kỹ năng, phát triển nghề nghiệp tới hàng triệu người”, đội ngũ phát triển zik.vn đã và đang làm việc với những học viện, trung tâm đào tạo, các chuyên gia đầu ngành để nghiên cứu và xây dựng lên các chương trình đào tạo từ cơ bản đến chuyên sâu xung quanh các lĩnh vực: Tin học văn phòng, Phân tích dữ liệu, Thiết kế, Công nghệ thông tin, Kinh doanh, Marketing, Quản lý dự án…

Zik.vn tự hào khi được đồng hành cùng:

  • 50+ khách hàng doanh nghiệp lớn trong nhiều lĩnh vực như: Vietinbank, Vietcombank, BIDV, VP Bank, TH True Milk, VNPT, FPT Software, Samsung SDIV, Ajinomoto Việt Nam, Messer,…
  • 100.000+ học viên trên khắp Việt Nam

Tìm hiểu ngay các khóa học của Zik.vn TẠI ĐÂY



Lê Đình Chi


Your Signature

Leave a Reply

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Subscribe to our newsletter now!

DMCA.com Protection Status
>