Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Невидимые символы

Автор runner, 07.07.2021, 12:36

« назад - далее »

runner

Доброго дня всем!
Не могу удалить невидимые символы из ячеек.
ПЕЧСИМВ не работает, но ДЛСТР их учитывает. через ПСТР определил, что стоят перед видимым текстом

Текстовый редактор их не видит и не удаляет. При постановке курсора перед видимым текстом в ячейке - Backspace их не удаляет, а вот если несколько раз нажать стрелочку влево, а потом Delete - эти невидимые символы удаляются. КОДСИМВ показывает "?"

Что это вообще? Кто-нибудь сталкивался?

Serge 007

Здравствуйте

Из интернета копировали?

Этот символ -
Знак высокое напряжение Эмоджи
молния, разряд, Зевс, электричество, ток
Юникод: U+26A1
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

runner

#2
Китайские партнёры не дают заскучать  :)
Даже представить не могу, что мог бы значить такой "Эмоджи" в контексте поставляемой продукции...

Есть ли какой-нибудь способ, формулами или ещё как, вычистить подобный мусор?

ShAM

Попробуйте как в файле.

RAN

#4
Цитата: 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 Теги кода в упор не вижу.

Serge 007

Вот  :)
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

runner

Цитата: 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?

RAN

#7
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



Serge 007

Цитата: RAN от 08.07.2021, 09:11
Serge, я вчера в это окно не попал. Было только окно "быстрый ответ", в котором всех этих кнопок нет.
Странно, у меня такого окна нет в принципе...
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Serge 007

Цитата: runner от 07.07.2021, 18:28...8203 - "имя" этого  символа?..
Это его HTML-код
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390