Cảm ơn nhiều.
Chuyển về cùng một thứ thì kiếm ở đâu nhỉ?
Việc so sánh chuỗi tiếng Việt (tiếng nước khác có dấu?) trên sheet rất mạo hiểm.
Bạn nhìn vào công thức cho E2 thì thấy là A2 = C2 (E2 = TRUE).
Nhưng chúng không thể bằng nhau được vì
ndu đã nói: trong A2 bạn có unicode tổ hợp, còn trong C2 là unicode dựng sẵn.
Tôi đã làm 1 Button1 để bạn thấy.
View attachment 89720
Trong hình đính kèm bạn thấy là A2 có 21 ký tự, C2 có 19 ký tự và chúng khác nhau (nhìn kết quả bên phải và dưới màn hình)
Khác nhau 2 ký tự vì:
- "à" trong A2 là gồm 2 ký tự: ký tự "a" và ký tự dấu huyền - ChrW(&H61) & ChrW(&H300) = "à"
- "à" trong C2 là 1 ký tự "à" - ChrW(&HE0) = "à"
- "ị" trong A2 gồm 2 ký tự: ký tự "i" và ký tự dấu nặng - ChrW(&H69) & ChrW(&H323) = "ị"
- "ị" trong C2 là 1 ký tự "ị": ChrW(&H1ECB) = "ị"
-----------------
Tôi đính kèm một module cho bạn vào tâp tin. Trong module có hàm SourceToDest. Ví dụ:
SourceToDest(
text, 1, 1) --> chuyển văn bản UNICODE (unicode do thông số "nguồn" là thông số thứ 2 bằng 1) trong
text sang UNICODE (unicode do thông số "đích" là thông số thứ ba bằng 1)
UNICODE nguồn là gì không quan trọng nhưng unicode đích do hàm trả về luôn là dựng sẵn.
Do hàm tôi viết để dùng trong add-in nên nếu không dùng add-in thì dùng công thức trên sheet cũng được. Chỉ có điều công thức để làm gì? Bạn chỉ cần văn bản thôi nên ta làm như sau ...
Tôi cố tình để bạn tự thao tác thì mới biết cách cho những lần sau:
1. Tại ô trống G2 bạn nhập công thức: =SourceToDest(A2;1;1)
2. Kéo xuống tới dòng cuối là dòng G25
3. Chuột phải trên vùng đang được chọn ở cột G và chọn COPY
4. Chuột phải lên A2 và chọn "Paste Special" --> chọn "Values" --> OK
5. Xóa cột G.