Этот символ " " (который не виден, когда я сохраняю этот комментарий). Он выглядит как две скобки, сдвинутые вместе и соприкасающиеся, образующие высокий прямоугольник. []
Экспортированный из Filemaker (старая версия) лист Excel приводит к ошибке и остановке импорта на определенной строке, содержащей повторяющийся символ.
Я вижу этот странный символ только когда копирую/вставляю содержимое ячейки в Wordpad. Строка содержит 2 невидимых тега разметки переноса строки, а между ними находится . Всякий раз, когда это происходит, мне приходится редактировать содержимое в Wordpad, вставлять, и тогда все работает. Продолжает появляться каждые несколько строк.
Второй вопрос. Есть ли способ найти это в Excel и удалить все?
решение1
Сначала нам нужно выявить злодея, а затем удалить его.
Сначала поместите следующую определяемую пользователем функцию в стандартный модуль:
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.
Вот пример:
Мы знаем, сколько символов в ячейкеС2содержит и мы знаем код ASCII для каждого символа.
Пользовательские функции (UDF) очень просты в установке и использовании:
- ALT-F11 открывает окно VBE
- ALT-I ALT-M открывает новый модуль
- вставьте текст и закройте окно VBE
Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel позже 2003, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить UDF:
- откройте окно VBE, как указано выше
- очистить код
- закрыть окно VBE
Чтобы использовать UDF из Excel:
=ЧтоВ(A1)
Чтобы узнать больше о макросах в целом, см.:
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с реальным номером.