Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Nội dung được viết bởi Cao Cường

Nội dung bài viết này sẽ hướng dẫn các bạn cách chuyển từ font chữ của bảng mã VNI Windows sang font chữ của bảng mã Unicode trực tiếp trong excel bằng vba excel, bạn không cần phải dùng thêm phần mềm của bên thứ ba như Unikey… để thực hiện việc chuyển đổi.

Chuyển font chữ của TCVN3 sang font chữ của Unicode trực tiếp trên Excel

Font chữ là gì?

Font chữ là kiểu chữ mà bạn dùng để soạn thảo văn bản, hiện nay có rất nhiều font chữ khác nhau, phổ biến và được sử dụng để soạn thảo văn bản nhiều nhất phải để đến là Arial, Time New Roman…

Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Chuyển font chữ của VNI WINDOWS sang Unicode

Mình có một ví dụ như hình bên dưới, hiện tại nội dung đang là font chữ VNI-Times, và nó thuộc bảng mã VNI Windows, quan sát trên thanh fx các bạn sẽ thấy nội dung này không đọc được

Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel
Font chữ thuộc bảng mã VNI-Times

Bước 1: Vào Developer\Visual Basic

Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Bước 2: Chọn Insert\Module

Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Bước 3: Copy đoạn code bên dưới dán vào khung soạn thảo, đây là đoạn code mình sưu tầm và đã kiểm tra.

Public Function VniToUni(str$) As String
    Dim VNI$, UNI$, i&, sUni$, arrUNI() As String
    VNI = "aù,aø,aû,aõ,aï,aâ,aê,aá,aà,aå,aã,aä,aé,aè,aú,aü,aë,AÙ,AØ,AÛ,AÕ,AÏ,AÂ,AÊ,AÁ,AÀ,AÅ,AÃ,AÄ,AÉ,AÈ,AÚ,AÜ,AË,eù,eø,eû,eõ,eï,eâ,eá,eà,eå,eã,eä,EÙ,EØ,EÛ,EÕ,EÏ,EÂ,EÁ,EÀ,EÅ,EÃ,EÄ,í ,ì ,æ ,ó ,ò ,Í ,Ì ,Æ ,Ó ,Ò ,où,oø,oû,oõ,oï,oâ,ô,oá,oà,oå,oã,oä,ôù,ôø,ôû,ôõ,ôï,OÙ,OØ,OÛ,OÕ,OÏ,OÂ,Ô ,OÁ,OÀ,OÅ,OÃ,OÄ,ÔÙ,ÔØ,ÔÛ,ÔÕ,ÔÏ,uù,uø,uû,uõ,uï,ö ,öù,öø,öû,öõ,öï,UÙ,UØ,UÛ,UÕ,UÏ,Ö ,ÖÙ,ÖØ,ÖÛ,ÖÕ,ÖÏ,yù,yø,yû,yõ,î ,YÙ,YØ,YÛ,YÕ,Î ,ñ ,Ñ "
    UNI = "E1,E0,1EA3,E3,1EA1,E2,103,1EA5,1EA7,1EA9,1EAB,1EAD,1EAF,1EB1,1EB3,1EB5,1EB7,C1,C0,1EA2,C3,1EA0,C2,102,1EA4,1EA6,1EA8,1EAA,1EAC,1EAE,1EB0,1EB2,1EB4,1EB6,E9,E8,1EBB,1EBD,1EB9,EA,1EBF,1EC1,1EC3,1EC5,1EC7,C9,C8,1EBA,1EBC,1EB8,CA,1EBE,1EC0,1EC2,1EC4,1EC6,ED,EC,1EC9,129,1ECB,CD,CC,1EC8,128,1ECA,F3,F2,1ECF,F5,1ECD,F4,1A1,1ED1,1ED3,1ED5,1ED7,1ED9,1EDB,1EDD,1EDF,1EE1,1EE3,D3,D2,1ECE,D5,1ECC,D4,1A0,1ED0,1ED2,1ED4,1ED6,1ED8,1EDA,1EDC,1EDE,1EE0,1EE2,FA,F9,1EE7,169,1EE5,1B0,1EE9,1EEB,1EED,1EEF,1EF1,DA,D9,1EE6,168,1EE4,1AF,1EE8,1EEA,1EEC,1EEE,1EF0,FD,1EF3,1EF7,1EF9,1EF5,DD,1EF2,1EF6,1EF8,1EF4,111,110"
    arrUNI = Split(UNI, ",")
     For i = 1 To Len(str)
            If InStr(VNI, Mid(str, i, 2)) > 0 And Len(Mid(str, i, 2)) = 2 Then
                sUni = sUni & ChrW("&h" & arrUNI(InStr(VNI, Mid(str, i, 2)) \ 3))
                 i = i + 1
            ElseIf InStr(VNI, Mid(str, i, 1) & " ") > 0 Then
                sUni = sUni & ChrW("&h" & arrUNI(InStr(VNI, Mid(str, i, 1) & " ") \ 3))
            End If
        If InStr(VNI, Mid(str, i, 1)) = 0 Or InStr("a,A,e,E,o,O,u,U,y,Y, ", Mid(str, i, 1)) > 0 Then sUni = sUni & Mid(str, i, 1)
    Next
    VniToUni = sUni
End Function
Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Bước 4: Quay trở lại file excel, ở ô D2 các bạn nhập công thức =VniToUni(C2) vào và nhấn enter

Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Bước 5: Kết quả

Chuyển font chữ của VNI WINDOWS sang font chữ của Unicode trực tiếp trên excel

Kết luận

Như vậy là mình vừa giới thiệu với các bạn cách chuyển đổi trực tiếp đoạn văn bản sử dụng font chữ thuộc bảng mã VNI-Times sang font chữ thuộc bảng mã Unicode, nếu có thắc mắc gì hãy để lại bình luận bên dưới bài viết này nhé.

KHÓA HỌC EXCEL ONLINE HOÀN TOÀN MIỄN PHÍ

Khóa học với hơn 14000 HỌC VIÊN đang học và đánh giá trung bình 4.76 SAO

1/5 - (1 bình chọn)

1/5 - (1 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông