Вам нужно запускать макрос при запуске Excel? У вас есть два варианта:
1. Создайте вложенную книгу Workbook_Open () в «ThisWorkbook».
2. Поместите подпрограмму Auto_Open () в любой модуль.
Workbook_Open Событие
Создайте подзаголовок «Workbook_Open» в «ThisWorkbook»
123 | Workbook_open ()MsgBox "Этот код запускался при запуске Excel!"Конец подписки |
Auto_Open
Используя второй метод: просто создайте подпрограмму Auto_Open и поместите в нее код или вызовите оттуда другую подпрограмму. Ваш код запускается автоматически при запуске Excel.
123 | Частный Sub Auto_Open ()MsgBox "Этот код запускался при запуске Excel!"Конец подписки |
Создавать и называть новый рабочий лист каждый раз, когда открывается Excel
Следующий код работает с открытием книги. Он автоматически добавляет новый лист и маркирует его датой. Он также проверяет, что лист еще не существует, что позволяет открывать его чаще, чем один раз в день.
Этот код использует событие открытия рабочей книги и должен быть помещен в модуль книги под событием «Открыть рабочую книгу». Функция Sheet_Exist должна быть помещена в модуль, и она проверяет, существует ли лист:
123456789101112131415 | Частная вспомогательная книга_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Формат (Сейчас (), «дд-мм-гг»)Если Sheet_Exists (New_Sheet_Name) = False, тоС рабочей тетрадьюWorksheets.Add (). Name = New_Sheet_NameКонец сКонец, еслиСохранитьКонец подписки |
12345678910111213 | Функция Sheet_Exists (WorkSheet_Name As String) как логическое значениеТусклый рабочий лист как рабочий листSheet_Exists = ЛожьДля каждой рабочей_таблицы в ThisWorkbook.WorksheetsЕсли Work_sheet.Name = WorkSheet_Name, тоSheet_Exists = ИстинаКонец, еслиСледующийКонечная функция |
Чтобы загрузить файл .XLSM для этого руководства, щелкните здесь
Установить лист по умолчанию при открытии книги
Вы хотите, чтобы лист всегда показывался первым при открытии книги? Например, когда вы открываете книгу, лист 3 всегда является активным. Вот как.
Вы можете ссылаться на лист из VBA по имени программы (например, Sheet3) или по имени вкладки (например, JanData). Лучше использовать имя программы, потому что, если имя вкладки изменится, ваш код VBA, который ссылается на имя вкладки, больше не будет работать. Однако, если вы используете имя программы, пользователь может изменить имя вкладки несколько раз, и ваш макрос по-прежнему будет работать.
Чтобы убедиться, что определенный лист всегда активирован при открытии книги, просто поместите код sheet.activate в подпрограмму workbook_open. Это пример, который активирует Sheet3, используя имя программы каждый раз, когда открывается книга.
123 | Частная вспомогательная книга_Open ()Sheet3.ActivateКонец подписки |
И это делается с помощью имени вкладки:
1234 | Частная вспомогательная книга_Open ()Таблицы ("mytabname"). АктивироватьКонец подписки |
Примечание: вы должны сохранить и перезапустить Excel, чтобы это работало.
Примечание: это работает, только если включены макросы.
Примечание: поместите этот код в окно кода для объекта ThisWorkbook в VBE.
Загружать форму при каждом открытии книги
Если вы хотите загрузить форму или запустить код VBA при открытии книги Excel, поместите свой код в окно кода этой книги и в подпрограмму Workbook_Open.
Из вашей таблицы:
1. Нажмите ALT и F11, чтобы открыть редактор VB.
2. Дважды щелкните слово ThisWorkbook, чтобы открыть окно кода.
3. Введите следующий код в окно кода ThisWorkbook.
123 | Частная вспомогательная книга_Open ()UserForm1.ShowКонец подписки |
Примечание: замените Userform1 именем вашей формы
4. Закройте Excel и снова откройте.