image

Часто мы хотим выполнить некоторые предопределенные и повторяющиеся шаги до закрытия книги. Например, закрытие подключений к базе данных, удаление данных мусора, защита книги, сохранение книги или просто прощание с пользователем. Это можно сделать с помощью link: / events-in-vba-workbook-events-using-vba-in-microsoft-excel [Workbook Events of Excel].

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

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'Your Code here.

End Sub

Чтобы записать событие в книге, сделайте это.

Откройте VBE с помощью Alt + F11. Теперь в проводнике проекта найдите книгу, в которой вы хотите разместить код. Теперь найдите объект ThisWorkbook * в проводнике проекта. Дважды щелкните по нему.

image

Теперь вы можете увидеть два раскрывающихся списка над областью кодирования. Щелкните первую и выберите Workbook. Теперь все доступные события, связанные с книгой, можно увидеть в правом раскрывающемся списке. Щелкните по нему и выберите BeforeClose. Это напишет пустую подпрограмму workbook_BeforeClose в области кодирования.

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

Пример:

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

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.Save

MsgBox "This Workbook is saved."

End Sub

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

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Call ShutDatabase ' calling subroutine that shuts down the source database

End Sub

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

Статьи по теме:

link: / events-in-vba-workbook-events-using-vba-in-microsoft-excel [События книги с использованием VBA в Microsoft Excel]: Здесь вы можете найти все события книги, которые могут быть инициированы для запуска определенного кода по конкретным событиям.

link: / tips-using-workheet-change-event-to-run-macro-when-any-change-is-made [Использование события изменения рабочего листа для запуска макроса при любом изменении] | Итак, чтобы запускать ваш макрос всякий раз, когда лист обновляется, мы используем события рабочего листа VBA.

link: / events-in-vba-run-macro-if-any-change-made-on-sheet-range [Запустить макрос, если какие-либо изменения сделаны на листе в указанном диапазоне] | Чтобы запустить код макроса при изменении значения в указанном диапазоне, используйте этот код VBA. Он обнаруживает любые изменения, сделанные в указанном диапазоне, и запускает событие.

link: / events-in-vba-simplest-vba-code-to-highlight-current-row-and-column-using [Простейший код VBA для выделения текущей строки и столбца с использованием] | Используйте этот небольшой фрагмент VBA, чтобы выделить текущую строку и столбец листа.

Популярные статьи:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-вашу-продуктивность [50 комбинаций клавиш Excel для повышения вашей продуктивности] | Выполняйте свою задачу быстрее. Эти 50 ярлыков сделают вашу работу в Excel еще быстрее.

link: / формулы-и-функции-введение-функции-vlookup [Функция ВПР в Excel] | Это одна из наиболее используемых и популярных функций Excel, которая используется для поиска значений из разных диапазонов и листов. link: / tips-countif-in-microsoft-excel [COUNTIF в Excel 2016] | Подсчитайте значения с условиями, используя эту удивительную функцию. Вам не нужно фильтровать данные для подсчета определенных значений.

Функция Countif важна для подготовки вашей приборной панели.

link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel] | Это еще одна важная функция приборной панели. Это поможет вам суммировать значения для конкретных условий.