Hàm chuyển từ có dấu sang không dấu trong tiếng Việt (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

MinhNguyệt

Thành viên thường trực
Tham gia
25/6/09
Bài viết
213
Được thích
403
1/ Hỏi :
Tôi có cụm từ sau : "Chào mừng Giải Pháp Excel. Chúc các thành viên năm mới mạnh khỏe và luôn gắn bó với GPE"
Bây giờ muốn chuyển thành : "Chao mung Giai Phap Excel. Chuc cac thanh vien nam moi manh khoe va luon gan bo voi GPE"
Vậy có các nào chuyển không?

2/ Trả Lời :
Có. Hàm ConvertToNotSign sau đây sẽ giúp bạn

PHP:
Function ConvertToNotSign(ByVal sContent As String) As String
     Dim i As Long
     Dim intCode As Long
     Dim sChar As String
     Dim sConvert As String
     ConvertToNotSign = 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
     ConvertToNotSign = sConvert
  End Function

Thân mến
Minh Nguyệt
 
Hàm này áp dụng cho bảng mã Unicode dựng sẵn! Với bảng mã Unicode tổ hợp, TCVN3, VNI thì cần 1 hàm khác, về cơ bản là mất thời gian dò mã từng ký tự!
 
Upvote 0
Hàm này áp dụng cho bảng mã Unicode dựng sẵn! Với bảng mã Unicode tổ hợp, TCVN3, VNI thì cần 1 hàm khác, về cơ bản là mất thời gian dò mã từng ký tự!
Dùng hàm để convert từng ô thì nên dùng Ctrl+Shift+F6 của Unikey, Unicode dựng sẵn hay tổ hợp gì đề convert bình thường.
Nếu convert nhiều (nguyên sheet, nhiều sheet) thì nên dùng một số tiện ích có sẵn trên diễn đàn.
 
Upvote 0
Dùng hàm để convert từng ô thì nên dùng Ctrl+Shift+F6 của Unikey, Unicode dựng sẵn hay tổ hợp gì đề convert bình thường.
Nếu convert nhiều (nguyên sheet, nhiều sheet) thì nên dùng một số tiện ích có sẵn trên diễn đàn.
Tiện ích thì có nhiều bác ạ, cơ bản là dành cho ai muốn vọc VBA thì viết lách một chút!! Em thì dùng cái em tổng hợp từ nhiều nguồn (chủ yếu là tổng hợp các hàm, bảng mã) và làm theo cách mà em muốn, theo đúng những "tiện ích" mà em thường dùng nhất!!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom