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ỉ:
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ụ:
Đ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):
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:
- 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
- Bấm vào Lựa chọn là Loại bỏ dấu
- 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”:
- 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:
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
.jpg)