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