Brenda có rất nhiều thông tin đã được nhập hoặc dán vào trang tính. Đôi khi văn bản trong trang tính sẽ chứa “nước ngoài”

và các ký tự kỳ lạ. Cô ấy tự hỏi liệu có cách nào để dễ dàng chuyển đổi dữ liệu để nó không chứa các ký tự không phải ASCII và có lẽ, một số ký tự nước ngoài được chuyển đổi thành các giá trị ASCII thông thường (chẳng hạn như chuyển đổi các chữ cái có dấu thành các chữ cái không có dấu).

Có một số điều bạn có thể thử. Đầu tiên, bạn có thể sử dụng chức năng CLEAN bảng tính để loại bỏ các ký tự không in được. Chỉ cần sử dụng hàm theo cách sau:

=CLEAN(A1)

Kết quả là văn bản được “làm sạch”, không có các văn bản không in được. Nếu bạn muốn thay thế các ký tự nước ngoài bằng các ký tự ASCII thông thường, điều đó sẽ cần được thực hiện bằng macro. Đây là một ví dụ về cách tiếp cận tương đối đơn giản:

Sub StripAccent()

Dim sAcc As String     Dim sReg As String     Dim sA As String     Dim sR As String     Dim i As Integer

sAcc = "������������������������������������������������������������"

sReg = "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"



For i = 1 To Len(sAcc)

sA = Mid(sAcc, i, 1)

sR = Mid(sReg, i, 1)

Selection.Replace What:=sA, Replacement:=sR, _           LookAt:=xlPart, MatchCase:=True     Next End Sub

Macro bước qua các ký tự trong biến sAcc và lần lượt sử dụng Tìm và Thay thế để thay thế chúng bằng ký tự tương ứng trong biến sReg. Bạn có thể điều chỉnh nội dung của sAcc và sReg để phản ánh nhu cầu chuyển đổi của mình; điều quan trọng là đảm bảo rằng cả hai đều có cùng độ dài.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (11492) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.

Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: