Check-moscow.ru

Финансы и учет
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Кнопка для вызова макроса в Excel

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

В предыдущих статьях этот вопрос упоминался вскользь. Теперь мы рассмотрим его более подробно и обстоятельно.

Вызывать макросы в Excel можно несколькими способами (естественно, макросы должны быть в книге):

  • Вставкой кнопки,
  • Сочетанием клавиш,
  • Вставкой автоматической формы,
  • Вставкой рисунка.

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

Выберите опцию «Кнопка» в блоке кнопок «Элементы управления» на вкладке «Разработчик». Нажмите кнопку «Вставить» в блоке «Элементы управления».

Кнопка для вызова макроса в Excel

В выпавшем списке есть два варианта: кнопка как элемент управления формы и как элемент ActiveX. В принципе, большой разницы в выборе кнопок нет, так что возьмём кнопку из блока «Элементы управления формы».

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

Кнопка для вызова макроса в Excel

Первая — кнопка управления формой, вторая — кнопка управления ActiveX.

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

Кнопка для вызова макроса в Excel

Кнопка для вызова макроса в Excel

Сочетание клавиш

Клавиатурное сокращение намного проще. Перейдите на вкладку «Разработчик», нажмите «Макросы», в появившемся окне выберите макрос (DF), нажмите «Параметры» и назначьте ярлык. Обычно это сочетание с клавишей Ctrl. Чтобы вызвать макрос, просто нажмите назначенные клавиши.

Кнопка для вызова макроса в Excel

Автофигура

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

Кнопка для вызова макроса в Excel

Щелкните правой кнопкой мыши на форме и выберите «Назначить макрос». «Как в кнопках». «ОК» нашего макроса после его выбора.

Кнопка для вызова макроса в Excel

Кнопка для вызова макроса в Excel

Рисунок

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

Читайте так же:
Как добавить запятую после первого слова в каждой ячейке?

Кнопка для вызова макроса в Excel

Затем снова нажмите правой кнопкой мыши и выберите «Назначить макрос», выберите нужный макрос и нажмите «ОК».

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

Кнопка для вызова макроса в Excel

В крайнем случае, макрос можно назначить объекту WordArt, рисунку SmarArt или любой диаграмме.

Автор записи: Иван

Похожие записи ‘

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

Запустить стартап проще, чем его понять:

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

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

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

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

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

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

Список макросов

Excel открывает список макросов, нажав кнопку «Макросы». Он выглядит следующим образом:

Список макросов во всех открытых книгах Excel

Список макросов в открытых книгах

  • Выполнить — выбранный макрос будет выполнен.
  • Enter — переход к запущенному и приостановленному макрокоду, например, при обнаружении ошибки в коде.
  • Редактировать — переход к коду макроса для его редактирования.
  • Создать — кнопка становится активной после ввода имени нового макроса в поле Имя макроса.
  • Удалить — удалить выбранный макрос.
  • Опции… — редактировать ярлык для запуска макроса и его описание.
  • Найдено в: — здесь вы можете выбрать все или только одну из открытых книг.
  • Описание — текст, добавляемый в одноименное поле при создании макроса или изменении его настроек.

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

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

Читайте так же:
Как добавить линию ряда в диаграмму в Excel?

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

Запуск макроса с заданной частотой

Это можно легко сделать с помощью метода VBA Application. Макрос запускается в заданное время, когда активен OnTime. Давайте рассмотрим практический пример.

Откройте одноименный редактор Visual Basic на вкладке Developer или Alt + F11 , вставьте новый модуль через меню Insert — Module и скопируйте туда следующий код:

Давайте рассмотрим это с точки зрения перспективы.

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

Теперь мы переходим к нашему главному макросу MyMacro, который будет выполнять основную задачу пересчета книги с помощью метода Application. Calculate. Поэтому я добавил в ячейку A1 формулу=TDATA(), которая выводит дату и время, и при пересчете содержимое сразу обновится (включите опцию показа секунд в формате). Кроме того, я добавил в макрос команду заполнения ячейки A1 случайно выбранным цветом (код цвета — целое число в диапазоне 0,56, которое генерируется с помощью Rnd и округляется до целого числа с помощью Int).

Заготовка

Макрос NextRun добавляет еще 3 секунды к предыдущему значению TimeToRun, а затем назначает следующий запуск MyMacro на это вновь определенное время. Установив в качестве аргументов функции TimeValue значение «чч:мм:сс», вы можете использовать любые другие интервалы времени, которые вам необходимы.

Кроме того, для удобства мы добавили макросы Start Sequence и Finish Sequence. В последнем примере для прерывания последовательности используется четвертый аргумент метода OnTime, который равен False.

Если запустить макрос Start, вся карусель начнет вращаться, и на листе появится изображение, подобное этому:

Читайте так же:
Как вставить или встроить видео YouTube в лист Excel?

Последовательность можно завершить, запустив макрос Finish. При желании можно назначить ярлыки для обоих макросов с помощью команды Макросы — Параметры (Разработчик — Макросы — Параметры) на вкладке Разработчик.

Запуск макроса по расписанию

Конечно, все описанное выше возможно только в том случае, если у вас запущен Microsoft Excel и в нем открыт наш файл. Теперь рассмотрим более сложный случай: нам нужно запустить Excel по заданному расписанию, например, каждый день в 5:00, открыть большой и сложный отчет и обновить в нем все ссылки и запросы, чтобы он был готов к нашему приходу на работу 🙂

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

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

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

Итак, давайте запустим планировщик. Для этого вы можете :

  • Щелкните правой кнопкой мыши на кнопке Пуск и выберите Управление компьютером
  • Выберите Панель управления — Административные инструменты — Управление задачами
  • Выберите Пуск — По умолчанию — Инструменты — Управление задачами
  • Выберите Пуск — По умолчанию — Инструменты — Управление задачами

Должно появиться окно, похожее на это (у меня английская версия, но у вас может быть и русская):

Планировщик заданий

Создаем задачу

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

На первом этапе мастера необходимо ввести имя и описание создаваемой задачи:

Читайте так же:
Как заменить несколько пробелов одним пробелом из ячеек в Excel?

Создаем задание

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

Выбираем триггер

Выбрав Daily, вы можете выбрать конкретное время, дату начала, интервал (каждый 2-й день, 5-й день и т.д.). ):

Выбираем время

Следующим шагом будет выбор действия «Запустить программу»:

Выбираем действие - старт программы

Самая интересная часть — что же на самом деле нужно открыть:

Выбираем программу и файл

    Щелкнуть правой кнопкой мыши по иконке (ярлычку) запуска Excel на рабочем столе или в панели задач и выбрать команду Свойства (Properties) , а затем в открывшемся окне скопировать путь из строки Target:

Где лежит excel.exeПуть к файлу EXCEL.EXE

Excel в Диспетчере задач WindowsСвойства процесса Excel.exe

После ввода всех данных нажмите Далее, а затем Готово. Задача должна быть добавлена в общий список:

Управление созданной задачей

Кнопки справа облегчают управление задачами. Здесь можно запустить задачу, не дожидаясь установленного срока (Run). Деактивируйте задачу (Отключить), чтобы она перестала выполняться, пока вы в отпуске. И вы всегда можете изменить параметры (даты, время, имя файла) с помощью кнопки Свойства.

Добавляем макрос на открытие файла

Теперь нам просто нужно вставить макрос в нашу книгу, который будет запускаться при открытии файла. Откроем книгу и перейдем в редактор Visual Basic, используя Alt + F11 или кнопку Visual Basic на вкладке Developer. В открывшемся окне в левом верхнем углу найдите в дереве наш файл и дважды щелкните на модуле ThisWorkbook.

Доступ к нему можно получить через меню View — Project Explorer, если он не виден в вашем редакторе Visual Basic.

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

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

Workbook_Open должна появиться на экране, а между строками Private Sub и End Sub следует вставить команды VBA, которые должны выполняться автоматически, когда планировщик открывает эту рабочую книгу Excel по расписанию. Возможно, вам пригодятся эти варианты разгона:

    ThisWorkbook.RefreshAll — обновление всех внешних запросов к данным, запросов Power Query и сводных таблиц. Самый универсальный вариант. Только не забудьте разрешить по умолчанию подключения к внешним данным и обновление связей через Файл — Параметры — Центр управления безопасностью — Параметры центра управления безопасностью — Внешнее содержимое, иначе при открытии книги появится стандартное предупреждение и Excel, ничего не обновляя, будет ждать от вас благословления в виде нажатия на кнопку Включить содержимое (Enable content) :

Читайте так же:
Как выбрать случайные имена из списка в Excel?

Предупреждение о подключении к внешним данным

Имеет смысл добавить проверку времени, чтобы макрос запускался только тогда, когда планировщик открывает файл в 5:00, а не каждый раз, когда пользователь открывает книгу в течение рабочего дня, например:

Вот и все. Не забудьте сохранить книгу в формате, поддерживающем макрос (xlsm или xlsb), перед закрытием Excel. В заданный момент (даже если ваш компьютер заблокирован) планировщик запустит Excel и откроет нужный вам файл, а наш макрос выполнит запрограммированные действия. И вы будете нежиться в постели, пока ваш тяжелый отчет автоматически пересчитывается — красота! 🙂

Запуск макроса через панель быстрого доступа

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

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

Чтобы добавить кнопку макроса на Панель инструментов быстрого доступа, выполните следующие действия

Щелкните правой кнопкой мыши на панели инструментов быстрого доступа.

В раскрывающемся списке выберите «Настроить панель быстрого доступа».

Нажмите на панель инструментов быстрого доступа.

Выберите «Настроить панель инструментов быстрого доступа» в раскрывающемся списке.

Быстрый доступ

Откроется диалоговое окно «Параметры Excel». Выберите Macros из выпадающего списка под категорией — Выберите команды из .

команды

В разделе «Макросы» отображается список макросов.

  • Нажмите ПЕРСОНАЛ.XLSB! MyMacro.
  • Нажмите Добавить.

Список

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

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

  • Щелкните имя макроса в правом поле.
  • Нажмите на кнопку редактирования.

изменять

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector