Как сделать макрос в Excel

Совсем недавно я наконец-то разобрался с очень полезным инструментом Excel — макросами. Оказалось, и разбираться-то было нечего, всё очень даже просто. И как я раньше без них обходился? А сколько времени-то можно, оказывается, сэкономить!

В общем, раньше для меня слово «макрос» было чем-то «космическим» и непонятным, а теперь это отличное подспорье в рабочих буднях. Ну а поскольку я стараюсь следовать принципу «изучаю, пишу, изучаю, пишу…», то выкладываю эту статейку.

Наверное, у каждого, кто имеет дело с анализом данных, часто возникают такие ситуации, когда во время работы в Excel необходимо выполнять одни  и те же операции, например, перемещать один столбец относительно другого, закрашивать ячейки, изменять формат ячеек; и вся эта однообразная деятельность изо дня в день отбирает кучу времени. А можно просто проделать это все один раз, записать последовательность своих действий, а вcе следующие разы только наслаждаться, как Excel сам все за Вас делает.

Для начала определимся с тем, что такое макрос. А ничего сложного: макрос (по-другому  «макрокоманда») — это просто запись действий пользователя.

Теперь можно начать разбираться, как с этими макросами работать. Приведу свой пример. Часто приходится выгружать из системы данные о технологии, где содержится  информация о хим. составе стали, технологии прокатки и механических свойствах готового проката. Из системы эти данные можно экспортировать в Excel-файл. Уже это здорово, что данные не нужно перебивать вручную, но вот только этот файл отчета не очень удобоваримый, так что каждый раз приходится переставлять столбцы, переименовывать заголовки, отмечать ячейки цветом и т.п., чтобы, когда смотришь на это, в глазах не рябило и умные мысли сразу приходили.

Вот упрощенный пример того, что я получаю после экспортирования данных из системы:

макрос

Ну зачем мне такие названия: «сод_C», «сод_Si»? Можно же просто значки хим. элементов оставить — и так понятно, что это содержание углерода и кремния. Как правило, ориентируюсь я по номеру проката, а не по хим. составу, так что столбец «№ проката» мне нужен впереди, а уж потом хим. состав. Ну и неплохо бы заголовки как-нибудь обозначить (выделить цветом, шрифт поменять) и данные округлить по температуре.

Это я и делал каждый раз...

Поскольку из системы данные выгружаются всегда в виде файла с четкой структурой (порядок следования столбцов одна и та же), которая не меняется, можем записать последовательность действий для обработки подобных файлов в будущем.

Сначала нужно включить панель «Разработчик». Идем во вкладку «Файл», затем находим кнопку «Параметры Excel»

макрос

и ставим галочку напротив пункта меню «Показывать вкладку «Разработчик» на ленте».

макрос

Теперь у нас появилась вкладка «Разработчик».

макрос

Примечание: для того, чтобы работать с макросами во вкладке «разработчик», нужно нажать на кнопку «безопасность» и в появившемся меню поставить «включить все макросы».

Теперь нажимаем на кнопку «Запись макроса».

макрос

В появившемся окне зададим

— имя макроса;

— сочетание клавиш, по которому будет запускаться наш макрос;

— место его хранения;

— описание макроса.

макрос

После нажатия «ОК» начинаем делать то, что уже и сами умеем делать как машина... (ох, сколько же времени потеряно!)

1. Переименуем все названия столбцов с содержанием хим. элементов

2. Добавим столбец в начале таблицы, затем выделим  весь столбец с номерами прокатов и  перенесем его на место только что созданного.

макрос

Очень важно при записи макросов использовать целые столбцы и строки, а также такие команды, как «выделить все» (Ctr + A), потому что нам нельзя привязывать наш алгоритм  к ограниченным диапазонам ячеек, ведь в будущем размеры выборки могут быть другими, и вместо десяти строк получим на выходе десять тысяч.

3. Округлим все значения температуры до целых частей. Выделим все данные в столбце под строкой с заголовком «Т конца» (Ctr+Shift+стрелка вниз) и нажмем на кнопку уменьшения разрядности во вкладке «главная».

макрос

4. Теперь выделим всю строку, где у нас есть заголовки: «№ проката», «C», «Si», «температура» и т.п. Для этого поставим курсор в ячейку А1 и нажмем Ctr+Shift + стрелка вправо.

5. Зальем строку заголовков цветом, изменим шрифт на жирный.

6. Выделим всю таблицу (Ctr+A), выровняем текст в ячейках по ширине и высоте и нарисуем границы таблицы.

Вот что получили:

макрос

7.  Все. Идем во вкладку «разработчик» и нажимаем на кнопку «остановить запись». Наш макрос записан.

8. В следующий раз, когда нужно будет провести подобную обработку файла, просто найдем вкладку «Разработчик», нажмем на кнопку «Макросы», и появится окно, в котором нам нужно выбрать нашу персональную книгу макросов и нажать на кнопку «выполнить».

макрос

9. Теперь можно налить себе чайку, откинуться в кресле и наслаждаться выкроенным временем.

Подписаться на обновления блога.

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Рубрика: Анализ данных в Excel. Метки: . Добавьте постоянную ссылку на эту страницу в закладки.

Один отзыв на Как сделать макрос в Excel

  1. Алексей пишет:

    Макрос — это программирование на VBA. Пока мы создаем программу мы помним ее действия, но через длительный промежуток времени приходится напрягаться, чтобы вспомнить в какой структуре должны быть новые исходные данные для ее выполнения. Поэтому как в любом языке программирования в теле программы желательно писать комментарии и экранные формы ввода данных. Если поближе познакомиться с параметрами используемых функций языка, которые можно осмысленно назначать, то для Вас расширятся возможности, которые не были доступны, через обычный интерфейс Excel. Вообще сейчас в интернете можно найти готовые макросы и использовать их если они подходят для ваших задач.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *