Нам нужно сначала идентифицировать негодяйного персонажа, а затем удалить его.
Сначала поместите следующую пользовательскую функцию в стандартный модуль:
Public Function WhatsIn(s As String) As String Dim msg As String, i As Long, L As Long L = Len(s) msg = L & vbCrLf For i = 1 To L msg = msg & i & " " & AscW(Mid(s, i, 1)) & vbCrLf Next i WhatsIn = msg End Function
Функция сообщает нам, что именно содержит ячейка. Это дает:
- количество символов
- для каждого символа значение Unicode
Вот пример:
Мы знаем, сколько символов содержит ячейка C2, и знаем код ASCII для каждого символа.
Пользовательские функции (UDF) очень просты в установке и использовании:
- ALT-F11 открывает окно VBE
- ALT-I ALT-M открывает новый модуль
- вставьте материал и закройте окно VBE
Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить UDF:
- откройте окно VBE, как указано выше
- очистить код
- закройте окно VBE
Чтобы использовать UDF из Excel:
= WhatsIn (А1)
Чтобы узнать больше о макросах в целом, смотрите:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
а также
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
а подробности о UDF смотрите в:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Макросы должны быть включены, чтобы это работало!
Как только мы узнаем номер ASCII, запустите такой макрос:
Sub KleanUp() Cells.Replace ChrW(166), "" End Sub
где мы заменили бы 166 фактическим числом.