Страницы: 1
RSS
Помогите определить невидимый символ, и произвести замену во всем файле.
 
Добрый день.
Подскажите, как убрать невидимый симфол после слова, он там есть, если заменять скопировав символ  - зачищается весь документ. пробовал макросом - то заменяет много левых символов. и как можно просмотреть этот невидимый пробел или что за знак?
Пробовал ПЕЧСИМВ не помогает.
 
В ячейке А2? Как Вы обнаружили символ? Не видать его...
 
Я тоже не нахожу.
 
а у меня есть, кажется)
 
Там символ с кодом 9 - горизонтальная табуляция
ПЕЧСИМВ прекрасно помогает. См. файл

А макросом так
Код
Sub zam_()
    Cells.Replace What:=Chr(9), Replacement:="", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
Изменено: _Boroda_ - 30.05.2018 14:17:49
Скажи мне, кудесник, любимец ба’гов...
 
Я не догадался длину проверить. Клик в ячейке - курсор после поседней буквы. Нужно быть внимательнее...
 
А как заменить на всем листе? или ПЕЧСИМВ с подставкой кода символа? подскажите?
 
Выше макрос дописал
Скажи мне, кудесник, любимец ба’гов...
 
Общая суть в том, что есть вот область где производится поиск, и к сожалению в многих ячейках какие то неведомые символы, и из-за этого в индексе нд...
 
Все равно не находит, хоть и все символы удалил вроде невидимые.
 
1. Далеко не факт, что все
2. Вам ехать или шашечки? Удалить символы или найти для ИНДЕКСа? Если найти, то забейте на эту тему и создавайте новую, где будет файл, в котором мы увидим Что_найти, Где_найти, Что_показать_по_найденному. И описание всего этого
Скажи мне, кудесник, любимец ба’гов...
 
Тут особенность в том, что был файл, в котором есть такие вот недочеты, что где то не видимые символы, поэтому найти сопоставление  данных через индекс никак.
Файл базы к сожалению есть, и переделать его никак, выложить сюда не могу т.к конфиденциальные данные внутри...
 
Никто Вашу черную кассу видеть не хочет :)
На форуме показывают примеры, а не рабочие файлы.
 
Для этого стоит понимать, почему у этих людей не находится, и кого показать
 
Думаю Вам стоит собрать все рекомендации в один файл и циклом пробежать по всем ячейкам и по-удалять все не нужные символы
например так
Код
Sub test()
   On Error Resume Next
   Dim cell As Range
   For Each cell In ActiveSheet.UsedRange
      If Len(cell) > 0 Then
         cell = Replace(cell, Chr(9), "")
      End If
   Next cell
End Sub

Внимание, работает с активным листом. Если ячеек на листе много, процедура будет выполняться долго. Возможно нужно проверять только те, по которым идет поиск, тогда ограничьте регион обхода в цикле for

 
Этот код делает то же самое, что и код выше. Разница только во времени работы.
Предположу, что у автора в файле не только символ 9, но и какие-то еще невидимки есть. Именно поэтому и необходимо на файл посмотреть
Скажи мне, кудесник, любимец ба’гов...
 
Сачок для невидимок.
Код
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
 
RAN, добрый день, определяет коды и  показывает в цифровом выражении. А дальше определять какую формулу использовать?
 
А дальше смотрите, что в макрос из №5 или №15 вставлять
 
еще один надежный способ - не пишите в файлы всякую ерунду тогда не нужно будет потом ее выискивать и удалять
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Если всё это одноразово, то непонятно, чем плох вариант обработать всё это ПЕЧСИМВ и вернуть взад через спецвставку...
 
RAN, спасибо, попробую прогнать Вашим примером.
Писать правильно? ну да, только данный файл с 5 000 человек заполнял не я, а была выгрузка сделана для базы данных, в которой вот такие неведомые символы.
Пробовал какой то макрос, где удалялись все непечатаемые символы, так и ё удалилось... как минимум.

Если бы в excel Была опция как в word показать символы не видимые. Или можно было макросом переписать значение ячеек по новой. Если стереть все и написать вручную все работает. но таких людей под несколько сотен
 
dmitry201708 как вариант для выяснения проблемных  мест, нужно проверить длину сверяемых значений, после выясняйте символ, после замена. Не думаю что вариантов так много (один два).
Ну и еще вариант, если символы только в конце то используйте ПОИСКПОЗ или ВПР через ЧТО_ИЩЕМ&"*".
Изменено: skais675 - 01.06.2018 22:43:18
 
skais675,
понимаете, нужно простое и точное решение, отвечающее на поставленный автором вопрос, рекомендации тут не помогут
понимаете, не dmitry201708заполнял этот файл и искать там что-то ему не с руки. если Вы думаете, что dmitry201708 вместо Вас будет использовать все эти ПОИСКПОЗ или ВПР через ЧТО_ИЩЕМ&"*"  и т.д. - то это ошибка! не станет он этого делать.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
dmitry201708 написал:
Если бы в excel Была опция как в word
а что мешает скопировать в ворд?
 
Посмотрел в ворде, мельком виден тот 9 символ, но простите, так более 200 стр проходить? может можно как то в формулу сделать расчет количество видимых символов и урезка ВСЕХ не видимых символов в формуле?

Я пробовал подставлять ваш вариант, и формат данных менять, но * тут не поможет, а если невидимый символ по середине слова?
Изменено: dmitry201708 - 02.06.2018 00:55:02
 
Код
=ПЕЧСИМВ(A1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
dmitry201708 Я ж Вам объясняю, вряд ли у ВАс будет более двух вариантов, один вы уже выяснили это 9 символ определите и другой по одной ошибке и остальные 200 стр пройдут разом, 100% у Вас не 200 комбинаций - от силы одна две.
Страницы: 1
Наверх