Brenda has a lot of information that has been imported or pasted into a worksheet. Sometimes the text in the worksheet will contain “foreign” and strange characters. She wonders if there is a way to easily convert the data so that it contains no non-ASCII characters and, perhaps, some foreign characters are converted to regular ASCII values (such as converting accented letters to non-accented letters).
There are a couple of things you can try. First, you can use the CLEAN worksheet function to get rid of non-printable characters. Just use the function in this manner:
=CLEAN(A1)
The result is “cleaned” text, without the non-printables. If you want to replace foreign characters with regular ASCII characters, that will need to be done with a macro. Here’s an example of a relatively straightforward approach:
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
The macro steps through the characters in the sAcc variable and, one at a time, uses Find and Replace to replace them with the corresponding character in the sReg variable. You can adjust the contents of sAcc and sReg to reflect your conversion needs; the key is to make sure that they are both the same length.