Trong xử lý dữ liệu, nhiều trường hợp cần loại bỏ dấu để phục vụ các công việc khác như: Loại bỏ dấu trong họ tên để tạo Email, import vào các cơ sở dữ liệu yêu cầu không có dấu,...Để chuyển dữ liệu Tiếng Việt về không dấu thì thường dùng Unikey, EVkey, một số Add-in hoặc VBA. 

Bài viết dưới đây sẽ chia sẻ hàm VBA để loại bỏ dấu Tiếng Việt trong Excel như sau:

Bước 1: Mở file Excel nhấn Alt+F11 (hoặc Alt+Fn+F11) để vào môi trường VBA. Trong giao diện VBA, vào Menu Insert chọn Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ soạn thảo Module

Function BoDau(text As String) As String Dim CoDauThuong, CoDauHoa, KhongDau, BoDau1 As String, Char As String, Code As Long, i As Long, n As Long CoDauThuong = Array(225, 224, 7843, 227, 7841, 259, 7855, 7857, 7859, 7861, 7863, 226, 7845, 7847, 7849, 7851, 7853, 273, 233, 232, 7867, 7869, 7865, _ 234, 7871, 7873, 7875, 7877, 7879, 237, 236, 7881, 297, 7883, 243, 242, 7887, 245, 7885, 244, 7889, 7891, 7893, 7895, 7897, 417, _ 7899, 7901, 7903, 7905, 7907, 250, 249, 7911, 361, 7909, 432, 7913, 7915, 7917, 7919, 7921, 253, 7923, 7927, 7929, 7925) CoDauHoa = Array(193, 192, 7842, 195, 7840, 258, 7854, 7856, 7858, 7860, 7862, 194, 7844, 7846, 7848, 7850, 7852, 272, 201, 200, 7866, 7868, 7864, _ 202, 7870, 7872, 7874, 7876, 7878, 205, 204, 7880, 296, 7882, 211, 210, 7886, 213, 7884, 212, 7888, 7890, 7892, 7894, 7896, 416, _ 7898, 900, 7902, 7904, 7906, 218, 217, 7910, 360, 7908, 431, 7912, 7914, 7916, 7918, 7920, 221, 7922, 7926, 7928, 7924) KhongDau = Array(97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 100, 101, 101, 101, 101, 101, _ 101, 101, 101, 101, 101, 101, 105, 105, 105, 105, 105, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, _ 111, 111, 111, 111, 111, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 121, 121, 121, 121, 121) BoDau1 = "" For i = 1 To Len(text) Char = Mid(text, i, 1) Code = AscW(Char) If Code <= 122 Then BoDau1 = BoDau1 & Char Else: For n = 0 To 66 If Code = CoDauThuong(n) Then BoDau1 = BoDau1 & ChrW(KhongDau(n)) ElseIf Code = CoDauHoa(n) Then BoDau1 = BoDau1 & ChrW(KhongDau(n) - 32) Exit For End If Next If Len(BoDau1) < i Then BoDau1 = BoDau1 & Char End If End If Next BoDau = BoDau1 End Function

Bước 3: Trở lại giao diện Excel và gõ hàm. Ví dụ: =BoDau(A1) thì kết quả trả về là dữ liệu có dấu tại ô A1 sẽ thành không dấu.

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


0 Comment:

Đăng nhận xét

Excel Thỉnh Vũ. Được tạo bởi Blogger.