01 Что делает макрос
Иногда у вас есть непечатаемые символы данных. Эти символы должны быть удалены, прежде чем можно будет использовать данные для серьезного анализа.
Вы, можете записать макрос поиска и замены (записанный макрос является отличным способом для автоматизации процедур поиска и замены). Ваша первая реакция может быть - просто найти и заменить эти символы. Проблема состоит в том, что эти непечатаемые символы являются по большей части невидимым и, таким образом, их трудно заметить, чтобы очистить функцией поиска и замены.
Самый простой способ - очистить их через VBA. Если вы боретесь с невидимыми символами, используйте этот макрос, чтобы найти и удалить все непечатаемые символы.
Этот макрос является относительно простым. Мы используем метод Replace, говоря Excel найти и заменить. Это похоже на синтаксис ручного выполнения поиска и замены. Разница заключается в том, что кодирование текста использует коды символов, а не сами символы.
Каждый символ имеет исходный код ASCII, похожий на серийный номер. Например, строчная буква А имеет ASCII-код 97, строчной букве С соответствует ASCII-код 99.
Аналогичным образом, невидимые символы также имеют код:
- Код символа переноса строки — 10.
- Код возврата каретки — 13.
- Код неразрывного пробела — 160.
Этот макрос использует метод Replace, чтобы передать код ASCII каждого символа в качестве поискового элемента. Затем каждый код символа заменяется пустотой.
02 Код макроса
Sub
UdalitNepechataemieSimvoli()
'Шаг 1: Удалить перенос строки
ActiveSheet.UsedRange.Replace What:=Chr(10), Replacement:=
""
'Шаг 2: Удалить возврат каретки
ActiveSheet.UsedRange.Replace What:=Chr(13), Replacement:=
""
'Шаг 3: Удалить неразрывный пробел
ActiveSheet.UsedRange.Replace What:=Chr(160), Replacement:=
""
End
Sub
03 Как работает макрос
1. Шаг 1 ищет и удаляет символы переноса строки. Код этого символа - 10. Мы можем передать этот идентификатор с помощью функции Chr. После того, как Chr (10) определяется как поисковый элемент, макрос передает пустоту для замены аргумента. Обратите внимание на использование ActiveSheet.UsedRange. Excel ищет во всех ячейках, в которых есть данные. Вы можете заменить объект UsedRange диапазон, если это необходимо.
2. Шаг 2 находит и удаляет символ возврата каретки.
3. Шаг 3 находит и удаляет неразрывные пробелы.
Символы, описанные в этом макросе лишь некоторые из многих непечатаемых символов.
Если вы работаете с другими, вы можете просто добавить новую строку кода, указав соответствующий код символа. Список ASCII-кодов можно найти в любой поисковой системе.
04 Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
3. Выберите Insert➜Module.
4. Введите или вставьте код во вновь созданном модуле.
05 Скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь