Как в эксель запустить макрос

Запуск макроса кнопкой

Задача: в предыдущей заметке мы рассказали, как запускать макросы клавиатурными сокращениями. Можно ли для этой цели использовать кнопки на листе?

Решение: существует множество способов запустить макрос кнопкой (рис. 1).

Рис. 1. Вы можете запустить макрос с помощью любого из этих элементов

Скачать заметку в формате Word или pdf, примеры в формате Excel (с кодом VBA)

Способ 1. Элемент управления формы Кнопка

В Excel 2007 или более поздней версии перейдите на вкладку РАЗРАБОТЧИК. В области Элементы управления кликните на кнопке Вставить, в раскрывающемся списке выберите значок Кнопка (рис. 2). Перетащите значок на лист, и нарисуйте кнопку. Когда вы закончите отрисовывать кнопку, появится диалоговое окно Назначить макрос объекту. Выберите макрос и нажмите Ok.

Рис. 2. Вставка кнопки, как элемента управления формы

Примечание. Если вы не видите вкладку РАЗАБОТЧИК, пройдите по меню ФАЙЛ –> Параметры. Перейдите на вкладку Настроить ленту, и в правой части окна Параметры ExcelОсновные вкладки поставьте галочку напротив Разработчик.

Кнопка по умолчанию имеет название Кнопка 1. Чтобы изменить имя: нажмите Ctrl и кликните на кнопке (это позволит сделать кнопку активной без запуска макроса). Удалите текст с названием кнопки и наберите новое название. Вы можете изменить тип и размер шрифта, выравнивание и цвет текста. Если в будущем вы захотите изменить макрос, назначенный кнопке, кликните на ней правой кнопкой мыши и выберите опцию Назначить макрос.

Способ 2. Кнопка ActiveX

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

Перейдите на вкладку РАЗРАБОТЧИК. В области Элементы управления кликните кнопку Вставить, и в раскрывшемся списке выберите значок Кнопка (рис. 3). Нажмите на пиктограмму Кнопка и перетащите ее на рабочий лист. Обратите внимание, что вы находитесь в режиме конструктора.

Рис. 3. Вставка кнопки, как элемента ActiveX

Кликните на Кнопке правой кнопкой мыши, и выберите опцию Свойства. Появится окно Properties (свойства, рис. 4). Находим строку для заголовка – Caption. Удалите текст CommandButton3 [1] и наберите Выполнить! Кнопка ActiveX. Вы также можете заменить шрифт Arial на Calibri. Вы также можете изменить внешний вид кнопки с помощью таких свойств, как BackColor и ForeColor; можете добавить изображение на кнопку (свойство Picture) и т.д. Эти особенности делают элементы управления ActiveX намного более гибкими, чем элементы управления формы. Закройте окно свойств, кликнув на крестик в правом верхнем углу.

Рис. 4. Свойства Кнопки ActiveX

Оставаясь в режиме конструктора, кликните правой кнопкой мыши, и выберите опцию Исходный текст. Вы перейдете в окно редактора VBA в процедуру Private Sub CommandButton3_Click (рис. 5). В настоящий момент процедура не выполняет никакой код (она пустая). Обратите внимание, что код «живет» не в отдельном модуле, а в листе книги.

Рис. 5. Редактирование кода VBA, ассоциированного с Кнопкой ActiveX

Вы можете написать в процедуре любой код. Если вы хотите, чтобы клик на Кнопке ActiveX запускал один из существующих макросов, просто укажите его имя в тексте процедуры (рис. 6).

Рис. 6. Процедура Private Sub CommandButton3_Click будет исполнять макрос TestMacro

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

Примечание. Сам макрос TestMacro предельно прост. Он выводит на экран окно Макрос выполнен. При этом код макроса, как и положено, размещен в модуле VBA.

MsgBox » Макрос выполнен «

Способ 3. Любая фигура, картинка, рисунок SmartArt, Clip Art

Поместите объект на лист Excel. Щелкните правой кнопкой мыши на объекте и выберите команду Назначить макрос. В окне Назначить макрос объекту выберите макрос и нажмите Ok.

Способ 4. С помощью гиперссылки

Настройка макроса для запуска с помощью гиперссылки довольно сложна, но интересна. Для начала введите какой-нибудь текст в ячейку — например, Запуск макроса гиперссылкой. Затем на вкладке ВСТАВКА выберите команду Гиперссылка, и в окне Изменение гиперссылки введите адрес ячейки, в которой введен текст. В нашем примере – это В28. Это позволит при нажатии гиперссылки остаться в ячейке.

Рис. 7. Замкните гиперссылку саму на себя

Перейдите в редактор VBA. В окне проекта (VBAProject) найдите строку с листом Excel, на котором находится гиперссылка. В нашем примере лист называется Sheet1 (Рис. 1). Кликните на этой строке правой кнопкой мыши, и выберите команду View Code (рис. 8).

Рис. 8. Код для перехвата нажатия гиперссылки должен быть расположен на листе

Откроется панель кода для листа Sheet1 (Рис. 1). Если вы ранее выполняли действия, описанные выше в разделе Способ 2. Кнопка ActiveX для запуска макроса, то вверху окна будет размещено три строчки кода (см. рис. 6). Если вы не делали этого, окно будет пустым. В любом случае, воспользуйтесь двумя выпадающими меню в верхней части окна. В левом списке выберите Worksheet, в правом – FollowHyperlink. У вас появится заготовка процедуры Worksheet_FollowHyperlink перехватывающей событие Нажатие гиперссылки (рис. 9).

Рис. 9. Настройка заготовки кода путем выбора объекта – Worksheet и события – FollowHyperlink

Каждый раз, когда кто-то нажмет вашу гиперссылку, запустится эта процедура. Целевая переменная процедуры – ByVal Target As Hyperlink – обеспечит срабатывание процедуры только когда нажата ячейка с целевым текстом. Если на странице только одна гиперссылка, вы можете ограничиться простым кодом:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Если гиперссылок несколько, вы можете использовать свойство Target.TextToDisplay, чтобы различить гиперссылки:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Select Case Target.TextToDisplay

Case » Run Report 2 «

Case » Run Report 2 «

Case » Run Report 3 «

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

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Select Case Target.TextToDisplay

Резюме: запуск макроса кнопкой может быть выполнен с помощью элементов управления формы, элементов ActiveX, фигуры SmartArt, гиперссылки и др.

[1] В процессе написания заметки я тестировал те или иные возможности, поэтому моя кнопка имеет номер 3. Если вы выполняете операцию создания Кнопки ActiveX впервые, ваша Кнопка будет иметь имя CommandButton1

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

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

Существует несколько способов запуска макроса в Microsoft Excel. Макрос — это действие или набор действий, с помощью которых можно автоматизировать различные задачи. Макросы записываются на языке программирования Visual Basic для приложений. Вы всегда можете запустить макрос, нажав команду макросы на вкладке разработчик на ленте. В зависимости от того, как назначено выполнение макроса, вы можете запустить его с помощью сочетания сочетание клавиш, нажав кнопку на панели быстрого доступа или в настраиваемой группе на ленте либо щелкнув объект на рисунке. или элемент управления. Кроме того, вы можете запускать макросы автоматически при открытии книги.

Перед запуском макроса

Прежде чем приступить к работе с макросами, включите вкладку разработчик .

В Windowsперейдите в раздел Параметры _Гт_ файла _гт_ настроить ленту.

Для Macперейдите на вкладку _Гт_ параметры Excel. _гт_ ленты _амп_ Toolbar.

Затем в разделе Настройка ленты в разделе Основные вкладкиустановите флажок разработчик и нажмите кнопку ОК.

Откройте книгу, содержащую нужный макрос.

Читать еще:  Как в excel сгруппировать данные

На вкладке Разработчик в группе Код нажмите кнопку Макросы.

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

Кроме того, у вас есть и другие варианты:

Options (параметры ) — добавить сочетание клавиш или описание макроса.

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

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

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

На вкладке Разработчик в группе Код нажмите кнопку Макросы.

В поле имя макроса выберите макрос, который вы хотите назначить сочетанию клавиш.

Нажмите кнопку Параметры.

Откроется диалоговое окно Параметры макроса.

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

Для Windowsсочетание клавиш для прописных букв — CTRL + Letter. Для прописных букв — сочетание клавиш CTRL + SHIFT + Letter.

Для Macсочетание клавиш для строчных букв — Option + Command + Letter, но сочетание клавиш CTRL + буква также будет работать. Для прописных букв — сочетание клавиш CTRL + SHIFT + Letter.

Будьте внимательны при назначении сочетаний клавиш, так как они будут переопределять любые эквивалентные клавиши Excel по умолчанию, пока открыта книга, содержащая макрос. Например, если назначить макросу сочетание клавиш Ctrl + z, вы потеряете возможность его отмены. Поэтому рекомендуется использовать сочетание клавиш CTRL + SHIFT + прописной буквы , например сочетание клавиш Ctrl + Shift + Z, которое не имеет эквивалентного сочетания клавиш в Excel.

Список сочетаний клавиш , которые уже назначены в Excel, можно найти в статье сочетания клавиш и функциональные клавиши в Excel.

Введите описание макроса в поле Описание.

Нажмите кнопку ОК, чтобы сохранить изменения, а затем — кнопку Отмена, чтобы закрыть диалоговое окно Макрос.

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

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

Запуск макроса щелчком области графического объекта

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

На листе вставьте графический объект, например рисунок, или нарисовать фигуру. Распространенный сценарий состоит в том, чтобы нарисовать фигуру скругленного прямоугольника и отформатировать ее таким образом, чтобы она выглядела как кнопка.

Чтобы узнать, как вставить графический объект, ознакомьтесь со статьей Добавление, изменение и удаление фигур.

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

Выполните одно из следующих действий.

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

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

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

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

Нажмите кнопку ОК.

На вкладке разработчик нажмите кнопку Visual Basic, чтобы запустить Редактор Visual Basic (VBE). Найдите в окне проекта модуль, содержащий макрос, который нужно запустить, и откройте его. Все макросы в этом модуле будут перечислены на правой панели. Выберите макрос, который вы хотите запустить, разместите курсор в любом месте макроса, нажмите клавишу F5или в меню выберите команду запустить _гт_ запустить макрос.

Создание события Воркбук_опен.

В следующем примере событие Open используется для запуска макроса при открытии книги.

Откройте или создайте книгу, в которую нужно добавить макрос.

На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.

В окне » Обозреватель проектов » щелкните правой кнопкой мыши объект ThisWorkbook и выберите пункт Просмотреть код.

Совет: Если окно проекта не отображается, в меню вид выберите пункт проводникпо проектам.

В списке объектов , расположенном над окном кода, выберите пункт Книга.

В результате будет автоматически создана пустая процедура для события Open , например:

Private Sub воркбук_опен ()

Добавьте в процедуру следующие строки кода

Private Sub воркбук_опен ()
MsgBox Date
(«Лист1»). Range («a1»). Value = Дата
окончания подзадачи

Переключитесь на приложение Excel и сохраните данную книгу как книгу с поддержкой макросов (.XLSM).

Закройте и снова откройте книгу. После повторного открытия книги Excel запускает процедуру воркбук_опен , которая отображает текущую дату в окне сообщения.

В окне сообщения нажмите кнопку ОК.

Примечание: Ячейка a1 на листе Sheet1 также включает в себя дату, полученную в результате выполнения процедуры Воркбук_опен.

Дополнительные сведения

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

Как выполнить (запустить) макрос в «Excel»

Теперь наступило время рассказать, как активировать выполнение уже записанного макроса (произвести запуск макроса) в файле «Excel».

Подготовка к запуску макроса.

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

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

  • Необходимо нажать на вкладку «Файл».
  • Далее «Параметры».
  • Настройка ленты.
  • В разделе «Настройка ленты» установить флажок (галочку) напротив пункта «Разработчик».

Настройка ленты. Разработчик

  • Нажать кнопку «Ok».
  • Запуск макроса.

    • Войти на вкладку «Разработчик» панели инструментов. Панель разработчика

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

    Выполнение записанного макроса

    • Нажать кнопку «Выполнить».

    Что делать, если макрос не запускается.

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

    Рассмотрим, как снять блокировку выполнения макроса в «Excel».

    Необходимо:
    • Войти в меню «Файл».
    • Далее «Параметры».
    • В открывшемся окне выбрать вкладку «Центр управления безопасностью».
    • Кликнуть по кнопке «Параметры центра управления безопасностью»

    Центр управления безопасностью

    • Выбрать вкладку «Параметры макросов»

    Включить все макросы

    • Установить флажок напротив пункта «Включить все макросы…» и нажать «ОК».

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

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

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

    Давайте разберемся с тем, какие в Excel и Windows есть возможности для реализации подобного.

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

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

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

    Давайте разберемся что здесь что.

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

    Читать еще:  Как включить макросы в excel 2013

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

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

    Ну и, наконец, просто для удобства добавлены еще макросы запуска последовательности Start и её завершения Finish. В последнем из них для прерывания последовательности используется четвёртый аргумент метода OnTime равный False.

    Итого, если запустить макрос Start, то вся эта карусель завертится, и мы увидим на листе вот такую картину:

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

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

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

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

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

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

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

    • Щелкнуть правой кнопкой мыши по кнопке Пуск и выбрать Управление компьютером (Computer management)
    • Выбрать в Панели управления: Администрирование — Планировщик заданий (Control Panel — Administrative Tools — Task Scheduler )
    • Выбрать в главном меню Пуск — Стандартные — Служебные — Планировщик заданий
    • Нажать сочетание клавиш Win + R , ввести taskschd.msc и нажать Enter

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

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

    Чтобы создать новую задачу с помощью простого пошагового мастера нажмем на ссылку Создать простую задачу (Create Basic Task) в правой панели.

    На первом шаге мастера нужно ввести название и описание создаваемой задачи:

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

    Если вы выбрали Ежедневно (Daily) , то на следующем шаге нужно будет выбрать конкретное время, дату начала последовательности и шаг (каждый 2-й день, 5-й день и т.д.):

    Следующий шаг — выбираем действие — Запуск программы (Start a program) :

    И, наконец, самое интересное — что именно нужно открывать:

    В поле Программа или сценарий (Program/script) нужно ввести путь к Microsoft Excel как к программе, т.е. непосредственно к исполняемому файлу Excel. На разных компьютерах с разными версиями Windows и Office этот файл может лежать в разных папках, поэтому вот вам несколько способов, как можно узнать его местоположение:

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

    Открыть любую книгу Excel, затем открыть Диспетчер задач (Task Manager) нажатием Ctrl + Alt + Del и, щелкнув правой кнопкой мыши по строке Microsoft Excel, выбрать команду Свойства (Properties) . В открывшемся окне можно скопировать путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце:

    Открыть Excel, открыть редактор Visual Basic сочетанием клавиш Alt + F11 , открыть панель Immediate сочетанием Ctrl + G , ввести в неё команду:
    ? Application.Path
    . и нажать на Enter


    Cкопировать получившийся путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце.

    В поле Добавить аргументы (необязательно) (Add arguments (optional)) нужно вставить полный путь к книге с макросом, которую мы хотим открыть.

    Когда всё ввели, то жмем Далее и затем Готово (Finish) . Задача должна добавиться в общий список:

    Управление созданной задачей удобно осуществлять с помощью кнопок справа. Здесь можно протестировать задачу, запустив её немедленно (Run), не дожидаясь наступления заданного срока. Можно временно деактивировать задачу (Disable), чтобы она перестала выполняться на время, например, вашего отпуска. Ну, и изменить параметры (даты, время, имя файла) тоже всегда можно через кнопку Свойства (Properties) .

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

    Теперь осталось повесить в нашей книге запуск нужного нам макроса на событие открытия файла. Для этого откроем книгу и перейдем в редактор Visual Basic с помощью сочетания клавиш Alt + F11 или кнопки Visual Basic на вкладке Разработчик (Developer) . В открывшемся окне в левом верхнем углу нужно найти наш файл на дереве и двойным щелчком мыши открыть модуль ЭтаКнига (ThisWorkbook) .

    Если у вас в редакторе Visual Basic не видно этого окна, то его можно открыть через меню View — Project Explorer.

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

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

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

  • ActiveWorkbook.Connections(«Имя_Соединения»).Refresh — обновление данных по соединению Имя_Соединения.
  • Sheets(«Лист5«).PivotTables(«СводнаяТаблица1«).PivotCache.Refresh — обновление отдельно взятой сводной таблицы с именем СводнаяТаблица1 на листе Лист5.
  • Application.Calculate — пересчет всех открытых книг Excel.
  • Application.CalculateFullRebuild — принудительный пересчет всех формул и перестроение всех зависимостей между ячейками во всех открытых книгах (равносильно повторному вводу всех формул).
  • Worksheets(«Отчет»).PrintOut — распечатать лист Отчет.
  • Call MyMacro — запустить макрос с именем MyMacro.
  • ThisWorkbook.Save — сохранить текущую книгу
  • ThisWorkbooks.SaveAs «D:АрхивОтчет » & Replace(Now, «:», «-«) & «.xlsx» — сохранить книгу в папку D:Архив под именем Отчет с добавлением к имени даты и времени.
  • Читать еще:  Как в excel скопировать содержимое ячейки

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

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

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

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

    В данной статье для Вас буде приведет пошаговый пример с картинками и фрагментом простейшего готового кода VBA.

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

    Например, самый простой способ запустить макрос для понимания, но сложный для реализации:

    1. Выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
    2. В появившемся окне «Макрос» из списка всех в первую очередь доступных макросов для данной рабочей книги Excel выберите любой понравившийся вам и нажмите на кнопку «Выполнить».

    Программа макроса выполнить свои функции.

    Теперь мы можем двигаться от простого к еще простейшему) Ведь запускать макросы таким способом весьма неудобно. Далее рассмотрим более простые варианты.

    Полезный совет! Если вы хотите отредактировать макрос тогда выберите его в списке выше описанного инструмента и нажмите на кнопку «Войти», а не используйте кнопку «Изменить». С помощью кнопки войти вы всегда сможете перейти к исходному коду выбранного макроса. Автоматически откроется редактор Visual Basic именно в том месте где написан код данного макроса. Кнопка «Изменить» к сожалению, не для всех макросов работает одинаково.

    Внимание! Макросы, созданные в надстройках Excel, могут быть по умолчанию не доступны в списке диалогового окна «Макрос» в целях политики безопасности. Ведь имена макросов в надстройках Excel обычно скрыты от сторонних пользователей. Но если ввести правильно соответственное значение в поле «Имя макроса:» то все кнопки в диалоговом окне будут активными. А значит готовы к работе с данным макросом из надстройки и пользователь является автором надстройки или доверительным лицом.

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

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

    Чтобы присвоить свою комбинацию клавиш для определенного макроса следует сделать так:

    1. Снова выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
    2. В появившемся диалоговом окне «Макрос» выберите желаемую макропрограмму из списка и нажмите на кнопку «Параметры».
    3. В появившемся диалоговом окне «Параметры макроса» в поле ввода «Сочетание клавиш: CTRL+» введите маленькую или большую латинскую букву. И нажмите на кнопку ОК.

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

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

    Полезный совет! Старайтесь не использовать популярные комбинации горячих клавиш для работы с Excel: CTRL+S; CTRL+A; CTRL+T; CTRL+C; CTRL+V; CTRL+SHIFT+L и т.п. Ведь тогда их предназначение будет изменено. В окне «Параметры макроса» так же присутствует возможность использовать в комбинациях клавиш клавишу SHIFT. Как только вы придадите фокус клавиатуры для поля ввода «Сочетание клавиш: CTRL+» и попытаетесь ввести большую букву для комбинации, естественно с использованием клавиши SHIFT на клавиатуре, сразу название поля ввода поменяется на «Сочетание клавиш: CTRL+ SHIFT+».

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

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

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

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

    1. Щелкните на самую последнюю кнопку на панели быстрого доступа (стрелка вниз), чтобы получить доступ к меню «Настроить панель», в котором необходимо выбрать опцию «Другие команды». В результате чего откроется окно «Параметры Excel», к которому можно было получить доступ и другим путем: «ФАЙЛ»-«Параметры»-«Панель быстрого доступа». Или щелкнув правой кнопкой мышки по любой панели Excel на любой закладке и выбрать опцию «Настройка панели быстрого доступа».
    2. В левом выпадающем списке «Выбрать команду из:» выберите опцию «Макросы».
    3. В левом списке элементов ниже выберите необходимый макрос и нажмите на кнопку «Добавить». В результате чего в правом списке элементов появиться кнопка для нового инструмента быстрого запуска вашего макроса. Справа от правого списка элементов можно использовать стрелки для настройки положения и порядка расположения кнопок инструментов на панели быстрого доступа. И нажмите ОК.

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

    Полезный совет! Чтобы изменить внешний вид кнопки для макроса в окне «Параметры Excel»-«Панель быстрого доступа», из правого списка элементов «Настройка панели быстрого доступа» следует выделить макрос и нажать на кнопку «Изменить». Будет предложена небольшая галерея иконок для нового оформления внешнего вида кнопки запуска макроса с панели инструментов.

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

    Запуск макроса с помощью кнопки на рабочем листе Excel

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

    1. Выберите инструмент: «РАЗРАБОТЧИК»-«Элементы управления»-«Вставить»-«Кнопка (элемент управления формы».
    2. Выделите курсором мышки место где и как будет вставлена кнопка для запуска макроса.
    3. В появившемся окне «Назначить макрос объекту» из списка доступным макросов выберите желаемый и нажмите на кнопку ОК.
    4. Теперь нужно назначить кнопку макросу. Правой кнопкой мышки щелкните по созданной кнопке и в появившемся контекстном меню выберите опцию «Изменить текст». Удалите старый и введите новый текст «Мой макрос».

    После создания кнопки можно ее настроить, изменив ее размеры и положение на листе. Для этого снова щелкните правой кнопкой мышки по кнопке, а потом нажмите клавишу Esc на клавиатуре, чтобы скрыть контекстное меню. У кнопки появляться маркеры, с помощью которых можно изменять ее размеры. Наведите курсор мышки на любой маркер на гранях или углах кнопки и удерживая левую клавишу мышки перетягивайте, изменяя таким образом ее размеры. Теперь нажмите на кнопку левой кнопкой мышки и удерживая ее перемещайте кнопку по листу документа Excel в любое другое место. Чтобы затвердить все изменения кнопки сделайте щелчок левой кнопкой мышки в любую область листа (например, по любой ячейке) вне области кнопки.

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

    Похожие статьи

    Ссылка на основную публикацию
    Похожие публикации
    Adblock
    detector