Запустіть макрос при запуску Excel - Приклади коду VBA

Чи потрібно запускати макрос при запуску Excel? У вас є два варіанти:

1. Створіть підручник «Workbook_Open ()» у «ThisWorkbook».

2. Розмістіть підзаголовок Auto_Open () у будь -якому модулі.

Workbook_Open Event

Створіть підзаголовок "Робоча книга_відкрито" у "цій робочій книзі"

123 Workbook_open ()MsgBox "Цей код запускався при запуску Excel!"End Sub

Auto_Open

Використовуючи другий метод: Просто створіть підпрограму під назвою Auto_Open і розмістіть у ній код або викличте інший підрозділ. Код автоматично запускається під час запуску Excel.

123 Приватний Sub Auto_Open ()MsgBox "Цей код запускався при запуску Excel!"End Sub

Створюйте та називайте новий аркуш кожного разу, коли відкривається Excel

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

Цей код використовує відкриту подію робочої книги та має бути розміщений у модулі робочої книги під подією «відкрита робоча книга». Функція Sheet_Exist повинна бути розміщена в модулі, і це перевіряє, чи існує аркуш чи ні:

123456789101112131415 Private Sub Workbook_Open ()Затемнити Новий_Назва_ Таблиці Як РядокNew_Sheet_Name = Формат (Now (), "dd-mm-yy")Якщо Sheet_Exists (New_Sheet_Name) = False ТодіЗ робочим зошитомРобочі аркуші.Add (). Ім'я = Новий_Назва_таблиціЗакінчити зЗакінчити ЯкщоЗберегтиEnd Sub
12345678910111213 Функція Sheet_Exists (WorkSheet_Name As String) Як логічне значенняЗатемнити робочий лист як робочий аркушSheet_Exists = НеправдаДля кожного робочого аркуша у цій робочій книзіЯкщо Work_sheet.Name = WorkSheet_Name ТодіSheet_Exists = ПравдаЗакінчити ЯкщоДаліФункція завершення

Натисніть тут, щоб завантажити файл .XLSM для цього підручника

Встановіть аркуш за промовчанням, коли відкриється книга

Ви хочете, щоб аркуш завжди відображався першим, коли відкривається книга? Наприклад, при відкритті робочої книги аркуш3 завжди є активним. Ось як.

Ви можете звертатися до аркуша з VBA за назвою програми (тобто Sheet3) або за назвою вкладки (тобто JanData). Найкраще використовувати назву програми, тому що якщо назва вкладки зміниться, ваш код VBA, який посилається на назву вкладки, більше не працюватиме. Однак, якщо ви використовуєте назву програми, користувач може змінювати назву вкладки кілька разів, і ваш макрос все ще працює.

Щоб переконатися, що певний аркуш завжди активується під час відкриття книги, просто розмістіть аркуш. Активуйте код у підрозділі workbook_open. Це приклад, який активує аркуш 3 за допомогою назви програми кожного разу, коли відкривається книга.

123 Private Sub Workbook_Open ()Аркуш 3. АктивуйтеEnd Sub

І це робиться за допомогою назви вкладки:

1234 Private Sub Workbook_Open ()Аркуші ("ім'я моєї вкладки"). АктивуйтеEnd Sub

Sidenote: Ви повинні зберегти та перезапустити Excel, щоб це працювало.
Sidenote: Це працює, лише якщо ввімкнено макроси.
Sidenote: Вставте цей код у вікно коду для цього об'єкта ThisWorkbook у VBE.

Завантажувати форму щоразу, коли відкривається книга

Якщо ви хочете завантажити форму або запустити код VBA під час відкриття книги Excel, розмістіть свій код у вікні коду цієї робочої книги та у підрозділі Workbook_Open.

З вашої електронної таблиці:
1. Натисніть клавіші ALT і F11, щоб відкрити редактор VB
2. Двічі клацніть слово ThisWorkbook, щоб відкрити вікно коду
3. Введіть такий код у вікні коду ThisWorkbook

123 Private Sub Workbook_Open ()UserForm1.ShowEnd Sub

Sidenote: Замініть Userform1 на ім’я форми

4. Закрийте Excel і відкрийте його знову.

wave wave wave wave wave