برندا اطلاعات زیادی دارد که وارد شده یا در یک کاربرگ قرار داده شده است. گاهی اوقات متن در کاربرگ حاوی کاراکترهای "خارجی" و عجیب است. او نمی پرسد که آیا راهی برای تبدیل آسان داده ها وجود دارد که شامل هیچ کاراکتر غیر ASCII نباشد و شاید برخی از نویسه های خارجی به مقادیر ASCII معمولی تبدیل شوند (مانند تبدیل حروف تاکیدی به حروف غیر تاکیدی).
یکی دو چیز وجود دارد که می توانید امتحان کنید. ابتدا می توانید از تابع CLEAN worksheet برای خلاص شدن از شر کاراکترهای غیرقابل چاپ استفاده کنید. فقط از تابع به این صورت استفاده کنید:
=CLEAN(A1)
نتیجه متن "پاک شده" است، بدون موارد غیر قابل چاپ. اگر می خواهید کاراکترهای خارجی را با کاراکترهای ASCII معمولی جایگزین کنید، این کار باید با یک ماکرو انجام شود. در اینجا یک مثال از یک رویکرد نسبتاً ساده وجود دارد:
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
ماکرو از کاراکترهای متغیر sAcc عبور می کند و یکی یکی از Find and Replace برای جایگزینی آنها با کاراکتر مربوطه در متغیر sReg استفاده می کند. می توانید محتویات sAcc و sReg را تنظیم کنید تا نیازهای تبدیل شما را منعکس کند. نکته کلیدی این است که مطمئن شوید که طول هر دو یکسان است.