Nhatthienkt's Blog Thủ thuật hay

Hàm chuyển từ Unicode sang VBA (ký tự đặc biệt Chrw)

Hiển thị Tiếng Việt trong msgbox (thông báo) VBA Excel là cần thiết để tường minh hơn cho chương trình viết bởi VBA Excel. Với nhu cầu đó việc chuyển đổi Unicode sang Vba (Chrw) cần một hàm chuyển đổi để đơn giản hóa cho bạn.


Nguồn code dưới đây sẽ hoạt động tốt

Function UniVba(TxtUni As String) As String 'chuyen vba sang uni

Dim N, uni1 As String, uni2 As String

    If TxtUni = "" Then

        UniVba = """"""

    Else

        TxtUni = TxtUni & " "

        If AscW(Left(TxtUni, 1)) < 256 Then UniVba = """"

            For N = 1 To Len(TxtUni) - 1

                uni1 = Mid(TxtUni, N, 1)

                uni2 = AscW(Mid(TxtUni, N + 1, 1))

                 If AscW(uni1) > 255 And uni2 > 255 Then

                    UniVba = UniVba & "ChrW(" & AscW(uni1) & ") & "

                 ElseIf AscW(uni1) > 255 And uni2 < 256 Then

                    UniVba = UniVba & "ChrW(" & AscW(uni1) & ") & """

                 ElseIf AscW(uni1) < 256 And uni2 > 255 Then

                    UniVba = UniVba & uni1 & """ & "

                 Else

                    UniVba = UniVba & uni1

                End If

            Next

        If Right(UniVba, 4) = " & """ Then

            UniVba = Mid(UniVba, 1, Len(UniVba) - 4)

        Else

            UniVba = UniVba & """"

        End If

    End If

End Function

'cu phap su dung tai o excel go =univba(ô)

 

 Hướng dẫn sử dụng

Bước 1: Tạo một modun và dán đoạn code trên vào .


Bước 2: Sử dụng cú pháp =UniVba()

- Sử dụng hàm =UniVba(chuổi cần chuyển đổi)
- Ví dụ:
- Dùng trong VBA
- Ví dụ thông báo với:
+ Tiêu đề: "Thông báo"
+ Nội dung: "Không tìm thấy dữ liệu"
Ta gõ lệnh như sau:
Application.Assistant.DoAlert "Thông báo", "Không tìm th" & ChrW(7845) & "y trong d" & ChrW(7919) & " li" & ChrW(7879) & "u", 0, 2, 0, 0, 0
Kết quả


- Trong đó: Thay số 2 thành số bất kỳ tùy theo nhu cầu thông báo của bạn.
Chúc các bạn thành công!

Copy bài viết vui lòng ghi Nguồn: NhatThienkt.net .

Đăng nhận xét

1 Nhận xét

Vui lòng viết comment Tiếng Việt có dấu.
- Bạn có thể gửi mail trực tiếp qua địa chỉ: nhatthienkt.s@gmail.com
- Nhận xét không hỗ trợ cho người dùng ẩn danh
- Lưu ý những nhận xét với mục đích backlink không liên quan đến nội dung bài viết sẽ bị xóa bỏ
- Bạn muốn theo dõi cập nhật trả lời sớm nhất từ adm vui lòng tick vào ô "Thông báo cho tôi" rồi xuất bản nhận xét của mình.

Emoji
(y)
:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
x-)
(k)