Макрос записывает и воспроизводит шаблонные действия в таблицах Excel. Необязательно быть программистом, чтобы сделать макрос самостоятельно. Так же, как у смартфона есть кнопка записи видео или звука, в Excel есть кнопка «Запись макроса», после нажатия на которую вы просто начинаете ввод повторяющихся действий. Ну, по крайней мере, это один из вариантов использования макросов.
[frame src=»/wp-content/uploads/2020/10/image.png» width=»100%» lightbox=»on» title=»Запись макроса в Excel»]
Макросы предназначены для экономии времени и автоматизации однотипных процессов. Для знакомства с макросами понадобятся знания основ Visual Basic for Applications (VBA), упрощенной версии языка Visual Basic, который используется во многих приложениях Office.
Если в вашем меню Excel еще нет вкладки «Разработчик», как на картинке выше, установите курсор в правую часть ленты меню (справа вверху экрана Excel, чуть ниже линии гл. меню), нажмите пр. кл. мыши → Настройка ленты, далее активируйте чекбокс Разработчик. То же самое можно сделать через гл. меню Excel: Файл — Параметры — Настройка ленты.
[frame src=»/wp-content/uploads/2020/10/image-1.png» width=»100%» lightbox=»on» title=»Excel — пункт меню Разработчик»]
Все картинки и пути в описании соответствуют Excel 365. Почему лучше пользоваться Office 365, читайте здесь.
Пример макроса: Предположим, вы работаете со сторонним рекламным агентством. Для настройки таргетинга в аудиториях контекстной рекламы и соцсетях вам нужно передать в агентство базу данных ваших клиентов, а именно уникальные мейлы и телефоны. Здесь две проблемы, решить которые без макросов непросто:
- передавать базу в открытом виде нежелательно, и не совсем законно, мало ли что произойдет в ваших отношениях с агентством завтра. Данные желательно зашифровать, например в соответствии с требованиями Яндекс.Аудиторий или Facebook Business Manager;
- клиентов в компании, как оказалось, более 100К, у кого-то может и больше, каждую строку нужно зашифровать отдельно (⊙_⊙)
Подробнее об условиях задачи: Что нужно сделать?
- удалить строки с повторяющимися значениями мейлов, т.к. это необработанная выгрузка всех транзакций из CRM компании за несколько лет, и по условиям задачи мейл является уникальным идентификатором клиента;
- в оставшемся списке удалить строки с повторяющимися значениями телефонов, при этом удаляя дубли телефонов необходимо оставить хронологически последнюю строку исходя из предположения, что если клиент с одним и тем же телефоном менял мейл, то последний с большей вероятностью является актуальным;
- все мейлы привести в строчный формат типа +ххххххххххх (в начале номера обязательно плюс, далее слитно цифры без пробелов, скобок, тире, знаков экспоненты);
- хешировать данные по алгоритму md5 (32-разрядная последовательность символов) для передачи таблицы в контекстные аккаунты;
- хеширование выполнить offline, средствами excel, пользоваться онлайн-сервисами нельзя из-за риска перехвата персональных данных;
- на выходе получить два файла xlsx – без хеширования и с хешированием.
Для решения этой задачи сначала мы используем обычные функции Excel, а в конце добавим макрос.
Разбор учебного примера с вымышленными мейлами и телефонами — по ссылке, реальная таблица в задаче имела 180 тыс. строк и 27 колонок, т.е. ок. 5 млн. ячеек. Представьте, что теперь с помощью макроса вы сможете обработать такой объем за несколько секунд.
…coming soon