[iMacros] Создание макросов и их применение в Excel. Написание макросов Excel

Запуск макроса в Excel. Как запустить макрос при открытии файла?

Categories: Макросы

Если вы не знаете о чем идет речь, то советую прочитать специальную статью. Если коротко, макрос — это список действий, записанных при помощи «языка» VBA. Очень удобно записать такую последовательность, если вы часто выполняете одни и те же операции (их можно записать специальным инструментом — макрорекордером). Макрос будет выполнять их при нажатии одной кнопки.

Где посмотреть полившийся макрос и запустить его?

Самый удобный способ работы с макросами и связанными инструментами — вывести вкладку Разработчик на панель инструментов

Включается он несложно — заходим в левую, верхнюю кнопку Параметры Excel — раздел Основные — в правом окне ставим галочку Показывать вкладку Разработчик на ленте

Как мы видим, здесь большой выбор инструментов, от возможности зайти в Visual Basic до вставки объекта, например, кнопки.

Запуск макроса можно осуществить нажатием второй кнопки слева Макросы.

Появится окно для выбора макроса

Выбираем нужный — жмем выполнить.

Запуск макроса в Excel. Горячие клавиши

Открытие окна выбора макроса можно осуществить через горячую клавишу Alt + F8. А зайти в окно редактирования макроса сочетанием Alt + F11.

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

В данным случае ctrl + Ё.

Автозапуск макроса при открытии книги

Зайдите в окно редактирования макроса Alt + F11 или нажмите кнопку Просмотр кода на панели Разработчик.

У вас откроется VBA. Ваш макрос (особенно записанный макрорекордером) будет храниться в отдельном отделе модулей в левой панели.

Для того, чтобы макрос запускался при открытии книги, его надо перенести в раздел эта книга.

Копируйте тело макроса из правого окна (между Sub и End Sub)

Выберите в левой панели ЭтаКнига (двойным левым кликом).

В верхних панелях выбираем Workbook и признак включения макроса Open (открытие книги получается).

Копированный текст макроса из модуля вставляем между Private Sub и End Sub. Сохраняем. Закрываем VBA.

Готово! Запуск макроса будет происходить при открытии книги.

Не забудьте сохранить книгу с поддержкой макросов (xlsm или xlsb).

Дополнительные возможности запуска макроса при действии с книгой

Как вы могли увидеть при выборе Workbook в правом окне выбора доступно множество вариантов. Ниже команды, которые запускают макрос при действии с книгой:

  • Activate — при активации книги (при переходе из другого окна в эту книгу);
  • Deactivate — при переходе в другую книгу;
  • BeforeClose — перед закрытием книги;
  • BeforePrint — перед печатью книги;
  • BeforeSave —  при сохранении книги;
  • NewSheet — при создании нового листа книги.

Дополнительные возможности запуска макроса при действии с листом

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

  • SheetActivate — при активации листа книги;
  • SheetDeactivate — при переходе на другой лист книги;
  • SheetCalculate — при пересчете формул на листе;
  • SheetBeforeDoubleClick — перед двойным кликом мыши;
  • SheetBeforeRightClick — перед кликом правой кнопкой мыши;
  • SheetChange — при изменение на листе

Если необходимо запустить макрос при изменении в ячейке — подробная инструкция есть в этой статье.

Готов ответить на вопросы в комментариях!

Поделитесь нашей статьей в ваших соцсетях:

image

С помощью макросов вы можете автоматизировать часто повторяющиеся процессы в Excel и сэкономить много времени.

К функции макросов в Excel перейдите через вкладку «Вид». Справа найдите кнопку «Макросы». Также вы можете получить доступ в данной функции с помощью сочетания клавиш [Alt] + [F8].

Для того чтобы создать макрос, откройте меню «Макросы» и вызовите команду «Запись макроса…». В окне «Запись макроса» задайте имя и сочетание клавиш, например, [Ctrl] + [R], — с помощью этого сочетания вы потом будете запускать макрос. Целесообразным может быть и описание принципа работы макроса. Подтвердите ввод с помощью «ОК».

На нижней линейке окна программы Excel слева рядом с «Готово» вы теперь увидите квадратный значок записи. Если подвести к нему курсор мыши, появится текст «Идет запись макроса. Щелкните, чтобы остановить запись». Затем произведите нужные настройки в документе. Когда все будет готово, нажмите на кнопку остановки записи, чтобы сохранить макрос.

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

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

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

Фото: компания-производитель

Поделиться ссылкой Чтобы произвести впечатление на публику, и выставить себя в роли профессионалов, люди, готовы использовать макросы в таблицах, созданных в такой программе, как Microsoft Excel. Из-за того, что человек будет использовать макросы, имеется вероятность, что каждая ячейка будет автоматизирована, и не будет возникать особых затруднений. В момент создания самой таблицы и подключения макроса будут записываться необходимые значения. Что собой представляют макросы, и для чего они создаются? Макросы подключить можно в разнообразных программах, от компании Microsoft. Они прекрасно помогают улучшить работы обычного пользователя в любом из утилит. Теперь гражданину не нужно будет выполнять однотипные действия бесконечное число раз, всё существенно изменится, и произойдет это из-за того, что весь процесс будет автоматизирован, и время будет сэкономлено. Создав макрос, можно быстро выполнить необходимую работу, прекрасно понимая, что в тоже время, ручным способом, это всё создавалось намного тяжелее и дольше. Можно сказать, что макрос состоит из набора инструкций, и они позволяют утилите выполнять заложенные функции. Помимо утилиты, которая предназначена для создания таблиц, многие люди сталкиваются с понятием макроса в Worde, набирая обычный текст. А всё из-за того, что макрос имеет большое число преимуществ. Все процедуры и инструкции объединяются в один сценарий, и он необходим для оптимизации работы. Вызвать процедуру можно из панели инструментов, используя специальные комбинации клавиш. Создание собственных макросов в различных версиях Excel. Во-первых, необходимо открыть документ, и выбрать те ячейки, которые уже были проработаны. Во-вторых, нужно отобразить в ленте «Вкладку разработчика». Чтобы это сделать, необходимо открыть «Файл», выбрать «Параметры», и выставить таки значения, которые имеются на изображении. После активации, необходимо это окно разработчика сделать главным, для этого необходимо выставить значения, как показано на изображении. Теперь имеется возможность перейти к непосредственному созданию макроса. Нужно чётко понимать, что согласившись на его создание, вы согласитесь с тем, что любая из ячеек, указанных в диапазоне, будет выполнять автоматические, однотипные действия, которые задаст сам человек. Чтобы создать макрос, необходимо во вкладке «Окно разработчика» выбрать соответствующую кнопку, и нажать на неё. После того, как вы нажали на кнопку, перед вами появится специальное окно, в нём нужно будет указать название, а также комбинацию клавиш, которые будут её приводить в активное действие. Помимо всего этого, есть возможность написать короткий клочок текста, это необходимо лишь для того, что выделить макрос из всех остальных. Это активно при условии, что у вас имеется много макросов, и с ними вы не хотите запутаться. После этого нажимаем на клавишу OK, и останавливаем полученную запись на панели управления. После того, как действия будут записаны в созданный макрос, нужно не забывать о том, что имеется возможность записать всё в макрос. Чтобы выполнить эту манипуляцию, необходимо нажать на кнопку «Остановить макрос». Как включить работу с макросами? Сначала переходим на вкладку разработчика, и там выбираем меню «Макросы», сразу нажимаем на неё. Выбираем необходимый макрос и нажимаем на такую кнопку, как «Выполнить». Запуск макроса осуществляется с помощью комбинации необходимых клавиш. После того, как вы нажали на кнопку выполнить , все действия пройдут повторно. Создание макросов и их удаление Макросы, в нынешних условиях создаются с помощью языка программирования, а именно помощью Visual Basic. Но, всё настолько элементарно, что разобраться может даже заядлый новичок. Сейчас любой макрос состоит из макрооператоров. Можно сказать, что макрооператоры – набор сведений и действий, необходимых для автоматизации всего процесса. Используя макросы, можно с уверенностью сказать, процесс будет проходить на полном автомате, и вмешательство не будет требоваться ос стороны человека. Чтобы самостоятельно создать макрос, необходимо воспользоваться соответствующей функцией. Используя записывающий макрос, человек, делает всё возможное, чтобы даже при смене информации в ячейке, ничего не сбивалось, а оставалось на высоком уровне. Макрос необходим для повторения действий, и сейчас многие граждане делают всё возможное, чтобы повторять действия, не используя лишних средств. Удалить макрос не составляет никаких ситуаций. Откроется меню разработчика, и выберете там вкладку «Макросы». Дальше выбираем объект, который должен подвергнуться удалению, и просто начинаем незамедлительно сам процесс. После удаления, таблица данных опять будет напоминать школьную программу.

Что такое МАКРОС в Excel?

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

Прежде чем приступить к включению и записи МАКРОСОВ, нам нужно вставить вкладку разработчика Excel.

Посмотрим, как получить «Вкладка разработчика» в вашем Excel, где вы можете найти Visual Basic, Macros, Record Macro и так далее …

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

Действия по активации «вкладки разработчика» для включения записи макроса

  • Шаг 1: Перейдите в меню «Файл», и вы увидите «Параметры» в левой части списка, как показано ниже.
  • Шаг 2: Щелкните Параметры, после чего появится новое окно параметров Excel, как показано ниже.
  • Шаг 3: Здесь мы должны выбрать «Настроить ленту», поскольку мы добавляем новую вкладку в наше меню вкладок и настраиваем ленту. Когда мы нажимаем «Настроить ленту», откроется окно для выбора «Вкладка разработчика», и в этом окне будет много других параметров для настройки.

В окне ниже мы должны выбрать «Разработчик» на главной вкладке и нажать «ОК».

  • Шаг 4: Теперь мы видим вкладку «Разработчик» на нашем листе.

И ваша лента «Вкладка разработчика» будет выглядеть так, как показано ниже, и мы можем найти варианты «Visual Basic», «Макросы», «Запись макроса» и т. Д.

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

Предположим, что у нас есть данные с разными именами, но в них есть «.» Удаляемый символ.

Вы можете скачать этот шаблон макроса Excel здесь – шаблон макроса Excel

Давайте выполним эту операцию, включив и записав макрос, и посмотрим, как он будет автоматизирован.

Нам нужно перейти на вкладку «Разработчик», где мы находим опцию «Запись макроса», и нажимаем на нее.

Окно «Запись макроса» появится в Excel, где мы сможем дать имя макросу, который мы создаем. Мы также получаем дополнительную возможность создания сочетания клавиш.

В нашем примере мы назовем макрос как «ReplaceDot», и мы создаем ярлык как «Ctrl + q».

Когда мы нажимаем «ОК» после создания имени макроса, макрос в Excel начинает запись, как показано ниже –

Теперь нам нужно выполнить задачу, которую мы хотим сделать. Здесь мы заменяем «. (Точка)» в именах на _ (подчеркивание).

Перейдите в «Найти и заменить» или воспользуйтесь сочетанием клавиш «Ctrl + H» и укажите «. (Точка)» в поиске того, что и замените на _ (подчеркивание), затем нажмите «Заменить все».

И эта операция будет заменена на _ (подчеркивание) везде, где найдет. (Точка).

Теперь, если мы хотим выполнить ту же операцию для нескольких других списков, мы можем использовать макрос, который мы создали как «ReplaceDot» из значка макроса на «Ленте разработчика».

Давайте возьмем новый список имен с теми же критериями, что и в приведенном выше примере, и запустим макрос «ReplaceDot».

Когда мы выбираем «Включить макрос» на «Ленте разработчика», мы видим, как выскакивает окно макроса. Здесь мы видим список макросов, которые мы создали, которые будут выбраны и запущены.

В нашем примере мы создали макрос для «ReplaceDot», поэтому выбираем его и запускаем макрос.

Теперь мы можем заметить, что точки в новом будут заменены подчеркиванием.

Мы можем создать «Кнопка» и может назначить созданный макрос вместо того, чтобы включить макрос и выбрать созданный макрос, а затем запустить. Давайте посмотрим, как мы можем создать кнопку.

Если мы можем наблюдать «Ленту разработчика», есть еще несколько вариантов, таких как надстройки, элементы управления и XML. В элементах управления у нас есть опция вставки, где мы можем создать кнопку следующим образом:

Мы можем выбрать тип кнопки, которую хотим создать. В нашем примере мы собираемся выбрать 1ул кнопка из «Управление формами в Excel».

Как только мы выберем кнопку и перетащим ее куда-нибудь на лист Excel, откроется окно для назначения макроса, в котором отображается список созданных макросов или для создания / записи нового макроса, как показано ниже:

Мы должны выбрать макрос «ReplaceDot», который уже создан, и нажать «ОК».

Затем мы можем увидеть кнопку, созданную на нашем листе, как показано ниже:

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

Затем нажмите кнопку, для которой назначен макрос «ReplaceDot», и мы сможем изменить его в списке.

Мы можем изменить название кнопки по своему желанию, отредактировав его. Здесь давайте изменим имя на ReplaceDot.

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

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

Для вышеуказанного макроса «ReplaceDot» код будет следующим:

Для доступа к коду мы можем использовать ярлык «Alt + F11» или отредактировав созданный макрос. Посмотрим, как это можно открыть.

Когда мы нажимаем на опцию редактирования из вышеуказанного макроса / Alt + F11, «Microsoft Visual Basic для приложений» появится всплывающее окно, в котором мы можем написать код или отредактировать уже созданный код.

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

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

Прежде чем приступить к написанию кода, сообщите нам о «Голова» и «Хвост» макросов, которые «Sub & End Sub».

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

Чтобы создать функцию, определяемую пользователем (UDF) в макросе, мы должны использовать «Функция и конечная функция» как наш «Голова и хвост».

Функция вернет значение, тогда как подпрограмма не может.

Напишем простой макрос на VBA:

Чтобы написать макрос, мы должны открыть «Microsoft Visual Basic для приложений», который является визуальным базовым редактором.

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

Мы должны начать писать макрос с «Sub и имя макроса», и автоматически End Sub будет отображаться в конце. Мы можем написать код между Sub и End Sub.

Напишем код для отображения текста в виде окна сообщения.

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

Этот код выдаст сообщение «Доброе утро», когда мы его запустим.

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

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

Как обсуждалось ранее, мы должны убедиться, что файл должен быть сохранен с расширением файла «xlsm».

Мы должны выбрать «Excel Macro-Enabled Workbook» при сохранении файла.

То, что нужно запомнить

  • Мы должны убедиться, что имя записанного макроса должно начинаться с букв (алфавитов) / подчеркивания, и мы можем использовать больше букв, цифр, символов подчеркивания, но не содержать пробелов, символов или знаков препинания. Максимальная длина должна составлять 80 символов. Когда мы пытаемся сохранить имя макроса с пробелом, появляется следующее предупреждение.
  • Настройки безопасности макросов должны быть включены. Когда мы открываем макрос, мы можем заметить предупреждение системы безопасности, в котором говорится: «Макросы отключены», и мы должны включить контент.

Мы можем устранить предупреждение системы безопасности для других макросов, включив условие, как показано ниже:

Перейдите к макробезопасности в «Ленте разработчика» и включите безопасность.

  • Убедитесь, что на время создание абсолютных макросов начинается с начала ячейки, т. Е. Ячейки A1, потому что это поможет повторно использовать макрос на других листах.
  • Для навигации в макросах использование клавиш направления будет надежным для добавления / удаления / изменения данных в электронной таблице, поскольку использование мыши для навигации в макросе будет сложным и может быть ненадежным.

УЗНАТЬ БОЛЬШЕ >>

—>Макрос 1. Создание новой рабочей книги с нуля

Что делает макрос

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

Код макроса

  1. Sub Macros1()
  2.     Sheets("Example 1").Range("B4:C15").Copy '1 копируем данные с листа
  3.     Workbooks.Add                            '2 создаем новую книгу
  4.     ActiveSheet.Paste                        '3 вставляем данные
  5.     Application.DisplayAlerts = False        '4 отключаем системные сообщения
  6.     ActiveWorkbook.SaveAs Filename:="C:ОтчётыОтчёт на 2016.xlsx" '5 сохраняем по нужному адресу
  7.     Application.DisplayAlerts = True         '6 включаем системные сообщения
  8. End Sub

 

Как работает этот код

  1. Копируем данные из ячеек B4:С15. Обратите внимание, что мы указываем полный адрес с именем листа и диапазона. Это позволит не допустить ошибки, если у Вас открыто несколько файлов Excel одновременно.
  2. Используем метод Add объекта Workbook, чтобы создать новую рабочую книгу. Это тоже самое, если бы мы вручную нажали Файл➜Создать➜Новый документ
  3. На этом этапе используется метод Paste, чтобы отправить данные, которые вы скопировали в ячейку А1 новой книги. Обратите внимание на то, что код ссылается на объект ActiveSheet. При создании новой книги она тут же становится активной. Если быть точнее, то становится активный лист в новой (только что созданной) книге.
  4. Далее используем метод DisplayAlerts. Используя свойство False — отключаем системные предупреждения Excel. Можно этого не делать, но мы можем запустить этот макрос несколько раз, и в этом случае Excel будет пытаться сохранить один и тот же файл несколько раз. Что происходит, когда вы пытаетесь сохранить книгу несколько раз? Правильно — Excel предупреждает, что в папке уже есть файл с таким же именем и спрашивает: «Хотите ли вы переписать ранее существующий файл?». Если мы не хотим, чтобы Excel при каждом сохранении спрашивал нас — подавляем это предупреждение.
  5. Сохраняем файл с помощью метода SaveAs. Обратите внимание, что мы пишем полный адрес, включая имя файла с расширением (при сохранении на рабочий стол ActiveWorkbook.SaveAs CreateObject(«WScript.Shell»). SpecialFolders(«Desktop») & «Отчет на 2016.xlsx»).
  6. Поскольку мы запретили показывать системные сообщения в пункте 4, мы должны включить их обратно. Если этого не сделать Excel будет подавлять все предупреждения, что не допустимо.
—>Категория—>: Работа с книгами
—>Просмотров—>: 1952

—>

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий