G-LEARNING
G-LEARNING
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 3158 lượt xem

Unicode tiếng việt khi viết trong VBA

Dec 12 2019

Như các bạn đã biết việc hiển thị tiếng việt trong lập trình VBA rất quan trọng, nhưng có vài ký tự trong VBA không hiểu được mà phải chuyển sang char thì vba mới có thể hiểu và xuất ra được, Trong bài viết này blog.gitiho.com sẽ hướng dẫn các bạn làm việc đó.

Cách thực hiện.

Trong VBA để hiện thị ra bên ngoài sheets có dữ liệu chuẩn ngôn ngữ unicode thì các bạn cần chuyển ký tự sang dang char có khoảng cách từ 1 đến 255 và kết hợp chúng lại với nhau để viết được ký tự tiếng việt trong VBA

Để hiểu rõ hơn về VBA các bạn có thể tham gia khóa học bên dưới

VBA101 – Tự động hoá Excel với lập trình VBA cho người mới bắt đầu

Hàm chuyển từ Unicode sang Vba

Đầu tiên các bạn vào link sau để tải Function về

Vậy làm sao để lưu file có vba vào trong file excel các bạn tham khảo bài viết sau

Cú pháp của hàm

UniVba(Chuỗi*)

Các bạn chỉ cần nhập chuỗi tiếng việt vào hàm sẽ tự động chuyển sang VBA rồi copy hàm chuyển vào VBA là đã được.

Các bước thực hiện

Bước 1 gõ từ muốn chuyển đổi ra một ô của bảng tính Excel
Ở đây mình gõ là Cộng hòa xã hội chủ nghĩa Việt Nam
Ký tự được chuyển thành
“C” & ChrW(7897) & “ng hòa xã h” & ChrW(7897) & “i ch” & ChrW(7911) & ” ngh” & ChrW(297) & “a Vi” & ChrW(7879) & “t Nam”

B2 copy chuỗi ký tự vào VBA là xong

Bây giờ bạn chạy maccro hienrasheets thì sẽ được kết quả là chuỗi unicode

Kết Luận

Qua bài viết trên blog.gitiho.com hi vọng các bạn có thể vận dụng hàm univba vào công việc thực tế của mình

Nếu thấy bài viết hay hãy chia sẻ đến nhiều người và để lại bình luận để đội ngũ phát triển phát triển bài viết ngày một tốt hơn.


Cách sử dụng Regular Expression trong VBA

Hàm tính thuế thu nhập cá nhân tự tạo bằng VBA

Hàm tính thứ dựa vào ngày bằng VBA

Hàm tính ra năm âm lịch bằng VBA

Đánh giá bài viết này

Cùng tham gia cộng đồng hỏi đáp về chủ đề Excel Cơ Bản

Thảo luận 1 câu trả lời
Lượt xem 3158 lượt xem
Vỗ tay vỗ tay

1 Bình luận

Vũ Ngọc Anh 1 năm trước

Cảm ơn đã chia sẽ.  Công thức đã chạy.

Function UniVba(s As String) As String

    Dim s1 As String, j As Integer

    For i = 1 To Len(s)

        s1 = Mid(s, i, 1)

        j = AscW(s1)

        If j < 256 Then

            UniVba = UniVba & s1

        Else

            UniVba = UniVba & """ & ChrW(" & j & ") & """

        End If

    Next i

            UniVba = """" & UniVba & """"

End Function

@ 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