Чи потрібно запускати макрос при запуску 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 і відкрийте його знову.