Доброго дня всем!
Не могу удалить невидимые символы из ячеек.
ПЕЧСИМВ не работает, но ДЛСТР их учитывает. через ПСТР определил, что стоят перед видимым текстом
Текстовый редактор их не видит и не удаляет. При постановке курсора перед видимым текстом в ячейке - Backspace их не удаляет, а вот если несколько раз нажать стрелочку влево, а потом Delete - эти невидимые символы удаляются. КОДСИМВ показывает "?"
Что это вообще? Кто-нибудь сталкивался?
Здравствуйте
Из интернета копировали?
Этот символ -
⚡ Знак высокое напряжение Эмоджи
молния, разряд, Зевс, электричество, ток
Юникод: U+26A1
Китайские партнёры не дают заскучать :)
Даже представить не могу, что мог бы значить такой "Эмоджи" в контексте поставляемой продукции...
Есть ли какой-нибудь способ, формулами или ещё как, вычистить подобный мусор?
Попробуйте как в файле.
Цитата: Serge_007, [url=http://www.excelworld.ru/forum/12-46329-314613-16-162565517307.07.2021 в 13:52, в сообщении № 98[/url];314613]Сейчас прошу вас подключиться к этой теме
Sub Мяу()
Selection.Replace ChrW(8203), ""
End Sub
PS Теги кода в упор не вижу.
Вот :)
Цитата: ShAM от 07.07.2021, 16:21
Попробуйте как в файле.
К сожалению, подобные "невидимки" совсем не система и артикулы очень разные по длине и структуре.
Показанные методы - рабочие, известные, но очень узконаправленные, а где такая бяка выскочит - не поддаётся прогнозу.
Можно просто находясь курсором внутри диапазона этих символов, стрелкой вправо или влево с шифтом, выделить один символ, скопировать и вставить как заменяемый текст в Ctrl+H и заменить на "" сразу все такие символы на странице.
Но основной раздражающий фактор - невидимость и неопределяемость(для меня) этих(таких) символов.
Цитата: RAN от 07.07.2021, 17:22
Sub Мяу()
Selection.Replace ChrW(8203), ""
End Sub
Отличное решение - посадить на кнопку! мне очень нравится!
Пара вопросов - 8203 - "имя" этого символа? как оно соотносится с "U+26A1" указанным
Serge 007 ? Как определить это имя, если я символ не вижу и КОДСИМВ ничего внятного не даёт? Есть ли таблица соответствий "8203" = "U+26A1" ? Есть ли диапазон кодов таких эмоджи? Возможно ли в коде указать сразу весь диапазон, типа 8200:8295?
Serge, я вчера в это окно не попал. Было только окно "быстрый ответ", в котором всех этих кнопок нет. Зато сегодня это окно найти не могу. :D
Function КОДЫ_СИМВОЛОВ_юни(ЯЧЕЙКА As Range, Optional Разделитель As String = "\") As String
Dim simv As Long
On Error Resume Next
For simv = 1 To Len(ЯЧЕЙКА)
КОДЫ_СИМВОЛОВ_юни = КОДЫ_СИМВОЛОВ_юни & AscW(Mid(ЯЧЕЙКА, simv, 1)) & Разделитель
Next
КОДЫ_СИМВОЛОВ_юни = Left(КОДЫ_СИМВОЛОВ_юни, Len(КОДЫ_СИМВОЛОВ_юни) - Len(Разделитель))
End Function
Function КОДЫ_СИМВОЛОВ(ЯЧЕЙКА As Range, Optional Разделитель As String = "\") As String
Dim simv As Long
On Error Resume Next
For simv = 1 To Len(ЯЧЕЙКА)
КОДЫ_СИМВОЛОВ = КОДЫ_СИМВОЛОВ & Asc(Mid(ЯЧЕЙКА, simv, 1)) & Разделитель
Next
КОДЫ_СИМВОЛОВ = Left(КОДЫ_СИМВОЛОВ, Len(КОДЫ_СИМВОЛОВ) - Len(Разделитель))
End Function
Ps поскольку параметр LookAt зависит от выбора в окне "заменить", то лучше так
Sub Мяу()
Selection.Replace ChrW(8203), "", LookAt:=xlPart
End Sub
Цитата: RAN от 08.07.2021, 09:11
Serge, я вчера в это окно не попал. Было только окно "быстрый ответ", в котором всех этих кнопок нет.
Странно, у меня такого окна нет в принципе...
Цитата: runner от 07.07.2021, 18:28...8203 - "имя" этого символа?..
Это его HTML-код