Макросы в Excel: создание, изменение, выполнение

Excel
Содержание
  1. Создание макросов
  2. Метод 1: Записываем макрос в автоматическом режиме
  3. Отображение вкладки «Разработчик» в ленте меню
  4. Что нельзя сделать с помощью макрорекодера?
  5. Запускаем выполнение макроса
  6. Запускаем макрос VBA
  7. Как в Excel сделать кнопку с макросом
  8. Корректируем макрос
  9. Другие варианты использования кнопок
  10. Абсолютная и относительная запись макроса
  11. Процедура создания
  12. Способ 1: автофигура
  13. Способ 2: стороннее изображение
  14. Способ 3: элемент ActiveX
  15. Способ 4: элементы управления формы
  16. Создание кнопки в Microsoft Excel
  17. Запуск макроса горячими клавишами
  18. Кнопка – элемент ActiveX
  19. Вставка кнопки на лист
  20. Кнопка – элемент управления формы
  21. Вставка кнопки на лист
  22. Создание процедуры для кнопки
  23. Назначение макроса кнопке
  24. в редакторе Visual Basic. Создать макрос в Excel
  25. Создание кнопки для запуска макросов в панели инструментов
  26. Создание графической кнопки на листе Excel

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

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

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

Метод 1: Записываем макрос в автоматическом режиме

Чтобы иметь возможность автоматически записывать макросы, вы должны сначала активировать их в параметрах Excel.

Вы можете узнать, как это сделать, в нашей статье — «Как включить и отключить макросы в Excel”.

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

  1. Перейдите на вкладку «Разработчик». В группе инструментов «Код» щелкните значок «Запись макроса”.
  2. На экране появится окно, в котором мы сможем настроить параметры записи. Здесь сказано:
    • имя макроса — любое, но должно начинаться с буквы (не цифры), пробелы не допускаются.
    • сочетание клавиш для запуска макроса. Обязательный — Ctrl, а второе мы можем назначить в специальном поле. Допустим, это клавиша «r». Если вам нужно использовать заглавную букву, вам нужно удерживать клавишу Shift, которая будет добавлена ​​к сочетанию клавиш.
    • место, где хранится макрос. По умолчанию это будет текущая книга, но при необходимости вы можете выбрать новую книгу или макрос личной книги. В нашем случае мы оставляем стандартный вариант.
    • При желании вы можете добавить описание к макросу.
    • Когда все будет готово, нажмите ОК.
      Параметры записи макроса в Excel
  3. Теперь созданный макрос будет записывать все действия, которые мы будем выполнять в книге. И так до тех пор, пока мы не остановим запись.
  4. Допустим, в ячейке D2 мы умножаем две ячейки (B2 и B3): = B2 * B3.
  5. После того, как выражение будет готово, нажмите клавишу Enter, чтобы получить результат. Затем мы прекращаем запись макроса, щелкнув значок «Стоп» (который появился вместо кнопки «Записать макрос») в группе инструментов «Код”.

Отображение вкладки «Разработчик» в ленте меню

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

  1. Щелкните правой кнопкой мыши одну из существующих вкладок на ленте и выберите «Настроить ленту». Откроется диалоговое окно параметров Excel».Настроить ленту в Excel
  2. В диалоговом окне «Параметры Excel» у вас будут параметры «Настроить ленту». В правой части панели «Основные вкладки» установите флажок «Разработчик».Запись макроса в Excel - включить вкладку разработчика
  3. Нажмите ОК».

В результате в строке меню появится вкладка «Разработчик

Вкладка разработчика на ленте

Что нельзя сделать с помощью макрорекодера?

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

  • Невозможно выполнить код без выбора объекта. Например, если вы хотите, чтобы макрос переместился на следующий рабочий лист и выделил все заполненные ячейки в столбце A, не покидая текущий рабочий лист, средство записи макросов не сможет этого сделать. В этих случаях вам необходимо вручную изменить код.
  • Невозможно создать пользовательскую функцию с помощью средства записи макросов. С помощью VBA вы можете создавать собственные функции, которые можно использовать на листе как обычные функции.
  • Создавать петли с помощью записывающего макроса невозможно. Но вы можете записать действие и добавить цикл вручную в редакторе кода.
  • Условия не могут быть проанализированы — условия в коде можно проверить с помощью средства записи макросов. Если вы пишете код VBA вручную, вы можете использовать операторы IF Then Else для анализа условия и выполнения кода, если оно истинно (или другого кода, если оно ложно).

Запускаем выполнение макроса

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

  1. На этой же вкладке («Разработчик») и в группе «Код» нажмите кнопку «Макрос» (также можно использовать сочетание клавиш Alt + F8).
  2. В появившемся окне выбираем наш макрос и нажимаем на команду «Выполнить”.
    Запуск макроса в Excel
    Примечание. Существует более простой вариант запуска макроса: используйте сочетание клавиш, которое мы указали при создании макроса.
  3. Результатом проверки будет повторение ранее выполненных действий (записано.

Запускаем макрос VBA

Разобраться в запуске просто, но начать может быть сложно:

  1. После открытия нового документа, в котором вы планируете работать с таблицами, перейдите во вкладку «Разработчик».
  2. Здесь мы переходим к группе инструментов «Код» и щелкаем строку «Макросы». Инструмент запускается горячими клавишами «Ctrl + F8».

Как создать кнопку для запуска макроса в Excel

  1. В открывшемся окне найдите нужный макрос (Заголовок таблицы) и нажмите «Выполнить».

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

Как создать кнопку для запуска макроса в Excel

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

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

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

Если мы использовали элемент ActiveX, то:

  • активировать режим дизайна (находится во вкладке «Разработчик»);
  • двойной щелчок по созданной кнопке: откроется режим Visual Basic с автоматически созданным пустым каркасом;
  • мы вставляем команду между двумя строками для вызова макроса.

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

 

Корректируем макрос

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

  1. Нажмите кнопку «Макрос» (или комбинацию Ctrl + F8).
  2. В появившемся окне выбираем наш макрос и нажимаем «Изменить”.
    Перейти к редактированию макроса в Excel
  3. На экране появится окно редактора «Microsoft Visual Basic», в котором мы можем вносить изменения. Структура каждого макроса следующая:
    • открывается командой «Sub», закрывается командой «End Sub”;
    • после «Sub» отображается название макроса;
    • ниже — описание (если есть) и назначенная комбинация клавиш;
    • команду «Интервал («… »). Выбрать »возвращает номер ячейки. Например, «Диапазон (« B2 »). Выбрать» выбирает ячейку B2.
    • Строка ActiveCell.FormulaR1C1 указывает значение ячейки или действие в формуле.
      Макрокод в Excel
  4. Попробуем исправить макрос, т.е добавить ячейку B4 со значением 3. В код макроса нужно добавить следующие строки:
    Дальность («В4»). Выбирать
    ActiveCell.FormulaR1C1 = «3»
    Редактировать макрос в Excel
  5. Следовательно, для полученной ячейки D2 вам также необходимо изменить исходное выражение следующим образом:
    ActiveCell.FormulaR1C1 = «= RC -2 * R 1 C -2 * R 2 C -2″.
    Редактировать макрос в Excel
    Примечание. Обратите внимание, что адреса ячеек в этой строке (ActiveCell.FormulaR1C1) написаны в стиле R1C1.
  6. Когда все будет готово, вы можете закрыть редактор (просто нажмите на крестик в правом верхнем углу окна).
  7. Запускаем выполнение модифицированного макроса, после чего можем заметить, что в таблице появилась новая полная ячейка (B4 со значением «3») и, кроме того, результат был пересчитан с учетом измененной формулы.
  8. Если мы имеем дело с большим макросом, выполнение которого может занять много времени, ручное редактирование изменений поможет быстрее справиться с задачей.
    • Добавив в конце команду Application.ScreenUpdating = False, мы можем ускорить работу, так как во время выполнения макроса изменения не будут отображаться на экране.
      Отключить или включить отображение макрокоманд на экране в Excel
    • Если вам нужно снова вернуть отображение на экран, напишите команду: Application.ScreenUpdating = True.
  9. Чтобы не загружать программу с пересчетом после каждой внесенной модификации, вначале пишем команду Application.Calculation = xlCalculationManual, а в конце — Application.Calculation = xlCalculationAutomatic. Расчет теперь будет выполняться только один раз.
    Отключить или включить автоматические вычисления макросов в Excel

Другие варианты использования кнопок

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

Нарисуем графический объект и выделим его. На вкладке «Вставка» мы найдем кнопку «Гиперссылка».

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

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

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

Субмакро 1()
Гамма («М6»). Выбирать
Конец ниже

Точно так же вы можете назначить макрос диаграмме WordArt, SmartAtr.

Абсолютная и относительная запись макроса

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

Если вы используете параметр относительной привязки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет «двигаться» относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1 и начали запись макроса в режиме относительной ссылки. Теперь выберите ячейку A2, введите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется к ячейке A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она перемещается в B4, записывает текст «Excel», а затем перемещается в ячейку K5.

Теперь напишем макрос в режиме относительной ссылки:

  1. Выберите ячейку A1.
  2. Щелкните вкладку «Разработчик».
  3. В группе «Код» нажмите кнопку «Относительные ссылки». Он загорится, указывая на то, что он включен.
    Запишите макрос в Excel - используя «Относительные ссылки»
  4. Нажмите кнопку «Записать макрос».
    Нажмите кнопку «Записать макрос» на вкладке «Разработчик».
  5. В диалоговом окне «Запись макроса» введите имя макроса. Например, название «RelativeLinks».
    Запись макроса в Excel - название макроса
  6. В опции «Сохранить в» выберите «Эта книга».
  7. Нажмите «ОК».
  8. Выберите ячейку A2.
  9. Введите текст «Excel» (или как хотите).
  10. Нажмите клавишу Enter. Курсор переместится в ячейку A3.
  11. Нажмите кнопку «Остановить ведение журнала» на вкладке «Разработчик».

Макрос будет сохранен в режиме относительной ссылки.

А теперь сделайте следующее.

  1. Выделите любую ячейку (кроме A1).
  2. Щелкните вкладку «Разработчик».
  3. В группе «Код» нажмите кнопку «Макросы».
  4. В диалоговом окне «Макросы» щелкните сохраненный макрос «Относительная ссылка».
  5. Нажмите кнопку «Выполнить».

Как вы заметили, макрос не записывал текст «Excel» в ячейки A2. Это произошло из-за того, что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, если вы сделаете это, когда выбрана ячейка B3, она перейдет в текст Excel — ячейку B4 и в конечном итоге выберет ячейку B5.

Вот код, который написал макрос:

Код макроса VBA для относительной ссылки

Sub RelativeRefs () ‘Макрос RelativeRefs’ ActiveCell.Offset (1, 0) .Range («A1»). Выберите ActiveCell.FormulaR1C1 = «Excel» ActiveCell.Offset (1, 0) .Range («A1»). Выберите Готово ниже

Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение от этой ячейки.

Игнорируйте часть кода Range («A1»). Это один из тех случаев, когда средство записи макросов добавляет ненужный код, который не имеет смысла и может быть удален. Код будет нормально работать и без него.

Процедура создания

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

Читайте также: Разделить таблицу в Word: как объединить и убрать разрыв

Способ 1: автофигура

Во-первых, давайте посмотрим, как создать кнопку из набора встроенных фигур Excel.

  1. Переходим во вкладку «Вставка». Щелкните значок Фигуры, расположенный на ленте в панели инструментов «Иллюстрации». Отображается список всех типов фигур. Выберите форму, которая, по вашему мнению, лучше всего подходит для роли кнопки. Например, такой формой может быть прямоугольник со скругленными углами.

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

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

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

Способ 2: стороннее изображение

Вы также можете использовать сторонний дизайн в качестве кнопки.

  1. Находим стороннее изображение, например, в Интернете и скачиваем на свой компьютер.
  2. Открываем документ Excel, в котором хотим разместить объект. Перейдите на вкладку «Вставка» и щелкните значок «Изображение», расположенный на ленте в панели инструментов «Иллюстрации».

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

Затем изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетащив края. Переместите дизайн в ту область, где мы хотим разместить объект.

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

  • Откроется окно управления макросами. В нем нужно выбрать макрос, который вы хотите применить при нажатии кнопки. Этот макрос уже должен быть записан в книгу. Выделите его название и нажмите кнопку «ОК».

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

Способ 3: элемент ActiveX

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

    Для работы с элементами ActiveX в первую очередь необходимо активировать вкладку разработчика. Дело в том, что по умолчанию он отключен. Поэтому, если вы еще не включили его, перейдите на вкладку «Файл», затем перейдите в раздел «Параметры».

В активированном окне опций перейдите в раздел «Настроить ленту». В правой части окна установите флажок «Разработчик», если он отсутствует. Затем нажмите кнопку «ОК» внизу окна. Вкладка разработчика теперь будет активирована в вашей версии Excel.

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

Затем щелкните в любом месте листа, которое мы сочтем необходимым. После этого предмет отобразится там. Как и в предыдущих способах, корректируем его положение и размер.

Щелкните получившийся элемент двойным щелчком левой кнопки мыши.

  • Откроется окно редактора макросов. Здесь можно зарегистрировать любые макросы, которые вы хотите запускать при щелчке по этому объекту. Например, вы можете написать макрос для преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос был записан, нажмите кнопку закрытия окна в правом верхнем углу.

Теперь макрос будет прикреплен к объекту.

Способ 4: элементы управления формы

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

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

Объект появляется на листе. Давайте исправим его размер и положение, как мы это делали не раз.

  • Затем назначьте макрос созданному объекту, как показано в методе 2, или назначьте гиперссылку, как описано в методе 1.

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

Создание кнопки в Microsoft Excel

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

Запуск макроса горячими клавишами

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

  1. Следуйте по пути, известному инструменту «Макрос», и активируйте проем окна.
  2. Затем перейдите по ссылке «Параметры».
  3. Выберите наиболее подходящую комбинацию клавиш (запоминающуюся и не конфликтующую с быстрым набором в Excel).Как создать кнопку для запуска макроса в Excel

Примечание эксперта! Клавиша Ctrl постоянна и не может быть изменена. Можно изменить только вторичные ключи. Клавишу Shift также можно добавить в качестве дополнительного ярлыка.

  1. Подтвердите выполненные действия, нажав кнопку «ОК».

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

Кнопка – элемент ActiveX

Вставка кнопки на лист

  1. Выберите вкладку «Разработчик» и нажмите кнопку «Вставить».
  2. Щелкните значок кнопки в галерее элементов управления ActiveX».

Добавление кнопки на лист (элемент управления ActiveX)

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

Кнопка (элемент ActiveX)

Захватив кнопку за круг, вы можете изменить ее размер, а, взявшись за край, вы можете перетащить ее в другое место. Чтобы изменить имя кнопки, щелкните ее правой кнопкой мыши и выберите «Объект CommandButton»> «Изменить» в контекстном меню».

Кнопка – элемент управления формы

Вставка кнопки на лист

  1. Выберите вкладку «Разработчик» и нажмите кнопку «Вставить».
  2. Щелкните значок кнопки в галерее элементов управления формой».

Добавление кнопки на лист (элемент управления формой)

  1. Щелкните в любом месте листа Excel.
  2. Откроется окно «Назначить макрос объекту». Нажмите Отмена, так как макрос для этой кнопки еще не готов.
  3. После нажатия кнопки «Отмена» на рабочем листе в режиме редактирования появится новая кнопка из галереи «Элементы управления формой.

Кнопка (элемент управления формы)

Захватив один из кружков мышью, вы можете изменить размер кнопки. Взяв кнопку за край, вы можете перетащить ее в другое место. Также в режиме редактирования вы можете изменить название кнопки прямо на ее поверхности.

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

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

Создание процедуры для кнопки

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

Создайте или откройте файл Excel .xlsm (книга Excel с поддержкой макросов) и переключитесь в редактор VBA, нажав Left_Alt_key + F11».

Если вы ранее не создавали стандартный модуль кода в этом проекте VBA, нажмите кнопку «Модуль» на вкладке «Вставка» в главном меню. То же подменю откроется, когда вы нажмете вторую кнопку (после значка Excel) на панели инструментов.

Вставить модуль в редактор Excel VBA

Ссылка на модуль появится в проводнике слева. Если форма была создана ранее, дважды щелкните ее ссылку в проводнике, и она откроется справа для редактирования.

Нажмите кнопку «Процедура…» на вкладке «Вставка» главного меню. Эта же ссылка будет доступна, когда вы нажмете вторую кнопку после значка Excel на панели инструментов.

Вставить процедуру в VBA Excel Editor

В открывшемся окне для добавления шаблона процедуры оставьте переключатель «Sub» выбранным, введите имя процедуры «НоваяПроцедура» в поле «Имя» и нажмите «ОК».

Добавьте окно процедуры в редактор Excel VBA

Модель процедуры «НоваяПроцедура» будет вставлена ​​в стандартный ПО».

Шаблон процедуры в редакторе Excel VBA

Вставьте следующий код в шаблон процедуры:

1234567 ‘Записываем в ячейку A1 число 44Cells (1,1) = 44’ Записываем в ячейку B1 число 56Cells (1,2) = 56 ‘Записываем в ячейку C1 формулу, которая’ вычисляет сумму значений ячеек A1 и B1Cells (1.3) = «= A1 + B1»

Процедура в редакторе VBA Excel

На этом процедура (подпрограмма, макрос) для кнопки завершается.

Назначение макроса кнопке

Щелкните правой кнопкой мыши кнопку на листе и в контекстном меню выберите строку «Назначить макрос…», откроется окно «Назначить макрос объекту».

Окно «Назначить макрос объекту»

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

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

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

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

Редактор программы VBA запускается по-разному, в зависимости от версии программы Excel:

  • в версиях Excel 2003 и ранее необходимо в меню «Инструменты» выбрать «Макросы» и нажать «Редактор Visual Basic»;
  • в версиях Excel 2007 и более поздних версиях необходимо нажать кнопку «Редактор Visual Basic» на вкладке «Разработчик». Если вы не нашли эту вкладку, необходимо активировать ее, выбрав пункт меню «Файл» — «Параметры» — «Настроить ленту» и в диалоговом окне активировать вкладку «Разработчик».

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

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

Все наши макросы будут храниться в так называемых программных модулях. В любой книге любой версии Excel мы можем создать любой программный модуль в любом количестве и вставить в них все созданные нами макросы. Модуль может содержать любое количество необходимых или созданных макросов. Модули доступны в окне «Project Explorer» и расположены в верхнем левом углу редактора макросов (вы также можете вызвать его с помощью комбинации клавиш CTRL + R).

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

  • Обычные модули — самый распространенный вариант для создания макросов. Если вам нужно создать только модуль этого типа, выберите «Вставить» в пункте меню, пункт «Модуль». В новом пустом окне открывшегося нового модуля теперь можно вводить необходимые команды в VBA с клавиатуры или просто копировать их из других источников, например, с моего сайта; Как создать макрос 6 Как создать макрос в Excel
  • Модуль «Эта книга» — находится там же, где и предыдущий, в том же окне «Project Explorer» при закрытии документа и т.д. Как создать макрос 7 Как создать макрос в Excel
  • Модуль листа — доступен там же, где и предыдущие, а также через контекстное меню ярлыка листа, выбрав пункт «Исходный текст». Этот модуль используется для написания макросов, которые необходимо выполнять при выполнении событий на листе, таких как пересчет листа, изменение данных в ячейке, удаление или копирование листа и т.д. Как создать макрос 8 Как создать макрос в Excel

Собственно сам макрос при работе в стандартном модуле выглядит так: Как создать макрос 9 Как создать макрос в Excel

Давайте посмотрим на пример работающего макроса «Расширенный фильтр» :

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

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

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

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

  1. Кнопка панели инструментов в MS Excel 2003 и более ранних версиях. Вам нужно перейти на вкладку «Команды» в меню «Инструменты» в пункте «Настройки» и в окне «Категории» выбрать команду «Пользовательская кнопка», отмеченная желтым колобком или смайликом, что более понятно или удобно для всех. Перетащите эту кнопку на панель задач и, щелкнув ее правой кнопкой мыши, вызовет контекстное меню, в котором вы можете изменить кнопку для своих задач, указав новый значок, имя и назначив необходимый макрос. Как создать макрос 10 Как создать макрос в Excel
  2. Кнопка панели быстрого доступа в MS Excel 2007 и более поздних версиях. Вам нужно щелкнуть правой кнопкой мыши на панели быстрого доступа, которая находится в верхнем левом углу окна MS Excel, и в открывшемся контекстном меню выбрать пункт «Настроить панель быстрого доступа». В диалоговом окне настроек выберите категорию «Макросы» и с помощью кнопки «Добавить» перенесите выбранный макрос из списка в другую половину окна для дальнейшего исправления этой команды на панели быстрого доступа. Как создать макрос 11 Как создать макрос в Excel

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

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

  • В MS Excel 2003 и более ранних версиях перейдите в меню «Вид», выберите «Панель инструментов» и нажмите кнопку «Формы».
  • В MS Excel 2007 и более поздних версиях необходимо открыть раскрывающееся меню «Вставить» на вкладке «Разработчик» и выбрать объект «Кнопка».

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

Оцените статью
Блог о Microsoft Word