Thứ Năm, 19 tháng 12, 2013

Hàm loại bỏ dấu tiếng việt trong Excel

(Thủ thuật VBA Excel)

- Hiện  nay Excel đã trở nên rất thông dụng đối với mọi đối tượng từ: nhân viên văn phòng, kế toán, thủ quỹ, giáo viên, kỹ sư, học sinh… Excel được dùng để giải quyết những công việc đơn giản đến phức tạp. Trong công việc có những người chỉ cần sử dụng các hàm có sẵn trong Excel cũng có thể giải quyết được tất cả các công việc, nhưng cũng có người phải tự viết hàm riêng để xử lý công việc được nhanh chóng và hiệu quả.


Trong thực tế có đôi khi bạn cần phải xử lý một danh sách hay một chuỗi ký tự sang tiếng việt không dấu, để thực hiện công việc này nếu sử dụng hàm có sẵn thì chưa có nhưng nếu xử lý bằng tay thì mất nhiều thời gian. Vậy có cách nào để có thể xử lý công việc này một cách nhanh chóng không? Hôm nay Kênh phần mềm việt xin giới thiệu với các bạn một giải pháp, đó là tự viết hàm loại bỏ dấu tiếng việt.

1. Khởi động Microsoft Excel
2. Nhấn ALT + F11 để bắt đầu Visual Basic Editor.
Vào menu Inser\Module


3. Nhập toàn bộ đoạn mã sau vào
Function ConvertToUnSign(ByVal sContent As String) As String
     Dim i As Long
     Dim intCode As Long
     Dim sChar As String
     Dim sConvert As String
     ConvertToUnSign = AscW(sContent)
   
     For i = 1 To Len(sContent)
        sChar = Mid(sContent, i, 1)
        If sChar <> "" Then
            intCode = AscW(sChar)
        End If
        Select Case intCode
            Case 273
                sConvert = sConvert & "d"
            Case 272
                sConvert = sConvert & "D"
            Case 224, 225, 226, 227, 259, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863
                sConvert = sConvert & "a"
            Case 192, 193, 194, 195, 258, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862
                sConvert = sConvert & "A"
            Case 232, 233, 234, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879
                sConvert = sConvert & "e"
            Case 200, 201, 202, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878
                sConvert = sConvert & "E"
            Case 236, 237, 297, 7881, 7883
                sConvert = sConvert & "i"
            Case 204, 205, 296, 7880, 7882
                sConvert = sConvert & "I"
            Case 242, 243, 244, 245, 417, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907
                sConvert = sConvert & "o"
            Case 210, 211, 212, 213, 416, 7884, 7886, 7888, 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, 7906
                sConvert = sConvert & "O"
            Case 249, 250, 361, 432, 7909, 7911, 7913, 7915, 7917, 7919, 7921
                sConvert = sConvert & "u"
            Case 217, 218, 360, 431, 7908, 7910, 7912, 7914, 7916, 7918, 7920
                sConvert = sConvert & "U"
            Case 253, 7923, 7925, 7927, 7929
                sConvert = sConvert & "y"
            Case 221, 7922, 7924, 7926, 7928
                sConvert = sConvert & "Y"
            Case Else
                sConvert = sConvert & sChar
        End Select
     Next
     ConvertToUnSign = sConvert
  End Function

4. Quay trở lại màn hình Excel và sử dụng hàm vừa tạo
Có 2 cách để sử dụng hàm vừa tạo
- Cách 1:
+ Cú pháp: =ConvertToUnSign(Chuỗi cần chuẩn hóa)
+ Ví dụ: =ConvertToUnSign(“Cộng  hòa xã hội chủ nghĩa Việt Nam”)
- Cách 2:
+Cú pháp: = ConvertToUnSign(Địa chỉ ô cần chuyển)
+ Ví dụ: = ConvertToUnSign(A2)

Nếu bạn nào sau khi đã tạo hàm xong nhưng khi sử dụng thì gặp phải trường hợp giá trị trả về #NAME? thì phải thực hiện theo các bước dưới đây nếu sử dụng Office 2007.

- Kích nút Office Button\Excel Options
- Chọn Trust Center\Trust Center Settings


- Chọn Macro Settings\Enable all macros (not recommended; potentially dangerous code can run)



Chọn OK

Hi vọng hàm loại bỏ dấu tiếng việt sẽ giúp ích các bạn nhiều trong công việc.

Không có nhận xét nào:

Đăng nhận xét

Các con vật cho bé học, video dạy bé học nói, các con vật thân quen,các con vật giúp bé học nói