Как сделать чтобы макрос повторялся в excel

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

Давайте поподробнее разберемся в тонкостях работы с макросами.

Введение

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

Макрос в Excel — это программа, записанная на языке программирования Visual Basic for Applications (VBA), которая выполняет определенную последовательность действий.

Как записать макрос в Excel?

В Excel есть встроенная программа макрорекордер, которая записывает каждое действие пользователя и переводит его в язык программирования VBA.
Такой способ записи макроса не требует специальных знаний программирования, поэтому запись макроса с помощью макрорекордера — самый простой способ создания макроса.
Однако при работе с макрорекордером есть свои недостатки:

  1. Макрорекордер записывает все Ваши действия, в том числе и случайно сделанные ошибки. Поэтому перед записью макроса четко продумайте список выполняемых действий — это поможет избежать ошибок;
  2. Макрорекордер записывает действия, выполненные только в программе Excel. Переключения на другие программы макрорекордер не записывает;
  3. Макрорекордер записывает только те действия, для которых есть кнопки или команды меню в Excel.

Запись макроса макрорекордером

Создание макроса

Настраиваем поля записываемого макроса (можно оставить поля пустыми):

Имя макроса

Выбор имени макроса и сочетания клавиш

  1. Имя макроса — произвольное имя на русском или английском языке;
  2. Сочетание клавиш — комбинация клавиш, которой в дальнейшем будет запускаться макрос;
  3. Сохранить в — книга в которой будет сохраняться макрос.

Конец записи макроса

Конец записи макроса

Как выполнить макрос в Excel?

Выбор макроса

Просмотр кода макроса

Код макроса

При знании языка VBA код макроса можно либо изменить, например, для удаления ошибок или для добавления новых действий для данного макроса, либо создать макрос с нуля на Visual Basic.

Эту статью я хочу посвятить такому огромному разделу MS Excel как макросы, а точнее начнем сначала и рассмотрим как создать макрос в Excel, для чего он нужен и как его использовать в своей работе.

Если вы никогда не слышали о макросе, то самым точным его определением будет таким, это действия которые запрограммированы на определённую последовательность и записаны в среде программирования на языке Visual Basic for Applications (VBA). Запуск макроса может производиться многократно и это заставит Excel выполнять любую последовательность необходимых нам действий, которые вручную выполнять нам просто не нравится или не хочется. Несмотря на великое множество языков программирования для всего комплекса Microsoft Office стандартом является именно VBA и он работает в любом приложении офисного пакета.

Итак, создать макрос в Excel возможно 2 способами:

Создать макрос в Excel с помощью макрорекордера

Для начала проясним, что собой представляет макрорекордер и при чём тут макрос.

Макрорекордер – это вшитая в Excel небольшая программка, которая интерпретирует любое действие пользователя в кодах языка программирования VBA и записывает в программный модуль команды, которые получились в процессе работы. То есть, если мы при включенном макрорекордере, создадим нужный нам ежедневный отчёт, то макрорекордер всё запишет в своих командах пошагово и как итог создаст макрос, который будет создавать ежедневный отчёт автоматически.

Этот способ очень полезен тем, кто не владеет навыками и знаниями работы в языковой среде VBA. Но такая легкость в исполнении и записи макроса имеет свои минусы, как и плюсы:

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

Для включения макрорекордера на запись необходимо произвести следующие действия:

Создать макрос в Excel в редакторе Visual Basic.

В этом способе мы рассмотрим, как создать макрос в Excel через редактор программ на VBA который, как я говорил выше, встроен в любую версию Excel.

Запуск редактора программ на VBA происходит по-разному, в зависимости от версии вашей программы Excel:

Kak sozdat macros 4 Как создать макрос в Excel

В открывшемся окне вы можете лицезреть интерфейс редактора VBA, здесь все написано по-английски и русификаторов не существует, можете не искать, а просто смиритесь и работайте, тем более что это только поначалу непонятно, а потом всё будет привычно.

Kak sozdat macros 5 Как создать макрос в Excel

Итак, как же, работать в редакторе VBA, где что хранится и как создать макрос в Excel. Вопросы такого характера возникают сразу же, как только вы увидите редактор и сейчас все их будем рассматривать.

Программные модули в редакторе VBA существуют в нескольких видах и используются для разных вариантов и ситуаций:

Kak sozdat macros 9 Как создать макрос в Excel

Собственно сам макрос при работе в стандартном модуле выглядит следующим образом:

  • Все макросы в обязательном порядке будут начинаться с оператора Sub, после которого следует имя вашего макроса и список аргументов в скобочках. В случаях, когда аргументы отсутствуют скобки нужно оставить пустыми;
  • В обязательном порядке все макросы заканчиваются оператором End Sub;
  • Данные что находятся между операторами Sub и End Sub, является телом макроса, которое будет работать при запуске макроса. В примере, макрос проверяет диапазон данных и при вводе данных находит их в списке базы данных и накладывает фильтр, выводя указанное по критериям значение.

Как видите второй способ более труден в использовании и понимании, если у вас отсутствует опыт в программировании вообще или в частности в VBA. Очень сложно понять и разобраться какие команды и как вводятся, какие аргументы он использует для того чтобы макрос начал выполнять свою работу в автоматическом режиме. Но дорогу осилит идущий, как говорили древние мудрецы и поэтому и вам не стоит опускать руки, а следовать заповедям дедушки Ленина…

Создание кнопки для запуска макросов в панели инструментов

Как я говорил ранее вы можете вызывать процедуру макроса горячей комбинацией клавиш, но это очень утомительно помнить какую комбинацию кому назначена, поэтому лучше всего будет создание кнопки для запуска макроса. Кнопки создать, возможно, нескольких типов, а именно:

Создание графической кнопки на листе Excel

Данный способ доступен для любой из версий MS Excel и заключается он в том, что мы вынесем кнопку прямо на наш рабочий лист как графический объект. Для этого вам нужно:

Kak sozdat macros 12 Как создать макрос в Excel

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

Как создать пользовательские функции на VBA

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

P.S. Если вам очень интересно как работает макрос и где он применяется. С примерами вы сможете ознакомиться у меня на сайте в следующих статьях:

Не забудьте поблагодарить автора!

Не уметь переносить бедность постыдно; не уметь избавиться от неё трудом – ещё постыднее. Перикл

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

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

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

Table of Contents

Как включить макросы в Excel

В Excel нажмите комбинацию клавиш alt + F11. Это приведет вас к редактору VBA в MS Excel. Затем щелкните правой кнопкой мыши папку Microsoft Excel Objects слева и выберите Insert => Module. Это место, где сохраняются макросы. Чтобы использовать макрос, вам нужно сохранить документ Excel как макрос. Из табуляции File => Save as, выберите Save as macro-enabled Workbok (расширение .xlsm) Теперь пришло время написать свой первый макрос!

1. Копирование данных из одного файла в другой.

Очень полезный макрос, поскольку он показывает, как скопировать ряд данных изнутри vba и как создать и назвать новую книгу. Вы можете изменить этот макрос в соответствии с вашими собственными требованиями:

2. Отображение скрытых строк

Иногда большие файлы Excel можно содержать скрытые строки для большей ясности И для лучшего удобства пользователей. Вот один макрос, который отобразит все строки из активной рабочей таблицы:

3. Удаление пустых строк и столбов

Пустые строки в Excel - может быть проблемой для обработки данных. Вот как избавиться от них:

4. Нахождение пустых ячеек

13. Создание сводной таблицы

Вот как создать сводную таблицу в MS Excel (версия 2007). Особенно полезно, когда вы делаете индивидуальный отчет каждый день. Вы можете оптимизировать создание сводной таблицы следующим образом:

14. Отправка активного файла по электронной почте

15. Вставка всех графиков Excel в презентацию PowerPoint

Очень удобный макрос, который позволяет вам добавлять все ваши графики Excel в презентацию Powerpoint одним щелчком мыши:

16. Вставка таблицы Excel в MS Word

Таблицы Excel обычно помещаются внутри текстовых документов. Вот один автоматический способ экспорта таблицы Excel в MS Word:

17. Извлечение слов из текста

Мы можем использовать формулы, если хотим извлечь определенное количество символов. Но что, если мы хотим извлечь только одно слово из предложения или диапазон слов в ячейке? Для этого мы можем сами создать функцию Excel с помощью VBA. Это одна из самых удобных функций VBA, поскольку она позволяет создавать собственные формулы, которые отсутствуют в MS Excel. Давайте продолжим и создадим две функции: findword() и findwordrev():

Отлично, мы уже создали две новые функции в Excel! Теперь попробуйте использовать их в Excel. Функция = FindWordRev (A1,1) берет последнее слово из ячейки A1. Функция = FindWord (A1,3) берет третье слово из ячейки A1 и т. Д.

18. Защита данных в MS Excel

Иногда мы хотим защитить данных нашего файла, чтобы только мы могли его изменять. Вот как это сделать с VBA:

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


В Excel вы можете создать макрос, записав его или написав код в редакторе VB. После создания вам нужно запустить макрос.

В этом руководстве я покажу вам различные способы запуска макроса в Excel.

Как запустить макрос в Excel

Предположим, что в рамках этого руководства у нас есть макрос ColorCell со следующим кодом:

Этот однострочный код заполнит ячейку A1 активного листа красным цветом.

Теперь давайте посмотрим, как запустить этот макрос в Excel.


Запустите макрос, щелкнув фигуру

Один из самых простых способов запустить макрос — иметь кнопку на рабочем листе и щелкать эту кнопку, чтобы выполнить макрос.

Это просто и интуитивно понятно.

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

Что-то вроде показанного ниже:


Вот шаги, чтобы сделать это:

Вот и все! Теперь фигура будет работать как кнопка, и всякий раз, когда вы нажимаете на нее, запускается назначенный макрос.

Запуск макроса нажатием кнопки

Хотя форму можно отформатировать, кнопка имеет стандартный формат.

Вот как это выглядит:

Вы можете назначить макрос кнопке, а затем запустить макрос, просто щелкнув эту кнопку.

Вот шаги, чтобы назначить макрос кнопке:


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

Примечание. Вы также можете назначить макрос другим интерактивным элементам управления, например флажку или полосе прокрутки.

Запуск макроса с ленты (вкладка разработчика)

Запуск макроса из редактора VB

Если вы пишете и тестируете макросы, то вместо вставки кнопок вы можете напрямую запустить макрос из редактора VB.

  • Выберите любую строку кода в окне кода. Если у вас несколько макросов / подпрограмм, убедитесь, что ваш курсор находится в макросе, который вы хотите запустить.
  • Перейдите на панель инструментов и нажмите на значок зеленого треугольника (также можно использовать сочетание клавиш — F5).

Как только вы это сделаете, макрос будет выполнен.

Если у вас открыт только редактор VB (и вы не видите рабочий лист), вы можете не увидеть изменения, происходящие на рабочем листе. Вы можете свернуть экран редактора VB, а затем запустить макрос, чтобы увидеть изменения в реальном времени.

Читайте также: