Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: runner от 07.07.2021, 12:36

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

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

Что это вообще? Кто-нибудь сталкивался?
Название: Re: Невидимые символы
Отправлено: Serge 007 от 07.07.2021, 14:00
Здравствуйте

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

Этот символ -
Знак высокое напряжение Эмоджи
молния, разряд, Зевс, электричество, ток
Юникод: U+26A1
Название: Re: Невидимые символы
Отправлено: runner от 07.07.2021, 14:21
Китайские партнёры не дают заскучать  :)
Даже представить не могу, что мог бы значить такой "Эмоджи" в контексте поставляемой продукции...

Есть ли какой-нибудь способ, формулами или ещё как, вычистить подобный мусор?
Название: Re: Невидимые символы
Отправлено: ShAM от 07.07.2021, 16:21
Попробуйте как в файле.
Название: Re: Невидимые символы
Отправлено: RAN от 07.07.2021, 17:22
Цитата: 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 Теги кода в упор не вижу.
Название: Re: Невидимые символы
Отправлено: Serge 007 от 07.07.2021, 17:35
Вот  :)
Название: Re: Невидимые символы
Отправлено: runner от 07.07.2021, 18:28
Цитата: 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?
Название: Re: Невидимые символы
Отправлено: RAN от 08.07.2021, 09:11
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


Название: Re: Невидимые символы
Отправлено: Serge 007 от 08.07.2021, 09:24
Цитата: RAN от 08.07.2021, 09:11
Serge, я вчера в это окно не попал. Было только окно "быстрый ответ", в котором всех этих кнопок нет.
Странно, у меня такого окна нет в принципе...
Название: Re: Невидимые символы
Отправлено: Serge 007 от 27.07.2021, 16:22
Цитата: runner от 07.07.2021, 18:28...8203 - "имя" этого  символа?..
Это его HTML-код