Здравствуйте, друзья! Думаю, многие из вас (как и я в свое время), кто работает в Microsoft Excel, задавались вопросом автоматизации некоторых задач. Предположим, вам необходимо по щелчку кнопки мгновенно перемещаться между листами книги или распечатать область на листе в определенном количестве копий. В этом и многом другом нам помогут макросы.
Макрос — это действие (или последовательность действий), записанное на языке программирования Visual Basic for Applications (VBA), которое можно выполнить сколько угодно раз.
Для работы с макросами необходимо открыть специальное окно – редактор программ на VBA, встроенный в Microsoft Excel, который доступен при включенном режиме Разработчика. Чтобы включить режим разработчика, нужно перейти по пути: Файл – Параметры – Настроить ленту и поставить в правой части окна флажок Разработчик.
В ленте появится вкладка «Разработчик», в которой есть кнопка для запуска редактора Visual Basic.
Макрос можно записать двумя способами
- Вручную в редакторе (для сложных макросов и процедур);
- С помощью функции «Запись макроса», которая находится во вкладке Разработчик.
Для начала, разберем первый способ – запишем макрос вручную. Например, у нас есть код макроса для печати активного листа:
Sub Print_1()
ActiveSheet.UsedRange.PrintOut
End Sub
– Каждый макрос начинается с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки нужно оставить пустыми.
– Каждый макрос заканчивается оператором End Sub.
– Все, что находится между Sub и End Sub – тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае наш макрос при запуске будет распечатывать активный лист, либо заданную пользователем область печати на активном листе.
Макросы хранятся в модулях. В любой книге Excel мы можем создать любое количество модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна VBA Project в левом верхнем углу редактора
Чтобы создать модуль, нужно открыть во вкладке «Разработчик» редактор Visual Basic, в окне VBA Project щелкнуть правой кнопкой мыши и выбрать Insert – Module.
Появится вкладка «Modules», в которой находится наш модуль «Module1». Копируем код макроса и вставляем его в наш модуль.
Готово, макрос записан. Теперь нужно определиться с запуском макроса. Макрос можно запустить несколькими способами:
– Во вкладке «Разработчик» нажать кнопку «Макросы», в появившемся окне выбрать наш макрос и нажать «Выполнить»;
– С помощью горячих клавиш, сочетание которых можно установить в том же окне, нажав кнопку «Параметры»;
– Назначить макрос на кнопку, размещенную на листе. Этот способ рассмотрим более подробно.
Для начала, добавим кнопку на лист, который нужно распечатать. Для этого откроем вкладку «Вставка» и выберем Иллюстрации-Фигуры.
Выбираем любую фигуру (я выбрал прямоугольник), затем щелкаем левой кнопкой мыши на листе и растягиваем фигуру. Получилась кнопка, которую можно отформатировать (поменять цвет, вставить надпись и т.д.). Щелкаем по кнопке правой кнопкой мыши, выбираем «Назначить макрос», выбираем наш макрос Print1 из списка, жмем «Ок».
Макрос назначен на кнопку. Теперь, при нажатии кнопки, активный лист (или установленная на нем область печати) будет мгновенно распечатана.
Второй способ: запишем макрос при помощи макрорекордера. Например, у нас есть книга с двумя листами (Лист1 и Лист2). Нам нужно, чтобы по нажатию кнопки на Листе1 мы переходили на Лист2. Открываем Лист1, создаем на нем кнопку. Переходим во вкладку «Разработчик» и жмем кнопку «Запись макроса».
Задаем имя макроса без пробелов (в моем случае это ПереходЛист2), по желанию задаем сочетание клавиш и жмем «Ок». Запись началась. Открываем Лист2 и жмем во вкладке «Разработчик» кнопку «Остановить запись». Готово, макрос записан. Чтобы посмотреть код, заходим в редактор Visual Basic. Макрос записался в Module2.
Назначаем макрос на кнопку, которую мы предварительно создали на Листе1. Готово, теперь при нажатии на кнопку мы переместимся на Лист2.
После того, как макрос записан, необходимо сохранить нашу книгу с поддержкой макросов. Жмем Файл – Сохранить как, выбираем папку и в списке «Тип файла» выбираем «Книга excel с поддержкой макросов».
Нажимаем «Сохранить». В выбранной папке сохранится копия нашего файла, но с расширением .xlsm и с работающими макросами.
Вы можете скачать инструкцию в формате .docx по ссылке ниже
Жду ваших отзывов и комментариев! С уважением, Дмитрий.
здравствуйте , встроил ваш макрос в таблицу все очень удобно
однако не могу разобраться как использовать данный макрос на каждой строке автоматически
грубо говоря как продублировать макрос на каждую строку в столбце так же как формулы дублируются
требуется в каждой строке указывать дату поступление и дату закрытия