Стартирайте макрос при стартиране на Excel - Примери за VBA код

Трябва ли да стартирате макрос при стартиране на Excel? Имате две възможности:

1. Създайте подпрограма Workbook_Open () в рамките на „ThisWorkbook“.

2. Поставете подкана Auto_Open () във всеки модул.

Workbook_Open Event

Създайте подзаглавие „Workbook_Open“ в „ThisWorkbook“

123 Workbook_open ()MsgBox "Този код се изпълнява при стартиране на Excel!"End Sub

Auto_Open

Използвайки втория метод: Просто създайте подпрограма Auto_Open и поставете код в нея или извикайте друга подпрограма от там. Автоматично вашият код се изпълнява при стартиране на Excel.

123 Private Sub Auto_Open ()MsgBox "Този код се изпълнява при стартиране на Excel!"End Sub

Създаване и име на нов работен лист при всяко отваряне на Excel

Следният код работи при отваряне на работна книга. Той автоматично добавя нов лист и го маркира с датата. Той също така проверява дали листът вече не съществува - за да се даде възможност за отваряне повече от веднъж на ден.

Този код използва отвореното събитие на работната книга и трябва да бъде поставен в модула на работната книга под събитието „Отворена работна книга“. Функцията Sheet_Exist трябва да бъде поставена в модул и това проверява дали листът съществува или не:

123456789101112131415 Private Sub Workbook_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Форматиране (Now (), "dd-mm-yy")Ако Sheet_Exists (New_Sheet_Name) = False ТогаваС работна тетрадкаРаботни листове. Добавяне (). Име = Ново_Име_на_листКрай сКрай АкоЗапазванеEnd Sub
12345678910111213 Функция Sheet_Exists (WorkSheet_Name As String) Като булеваDim Work_sheet като работен листSheet_Exists = FalseЗа всеки работен лист в тази работна книгаАко Work_sheet.Name = WorkSheet_Name ТогаваSheet_Exists = ВярноКрай АкоСледващияКрайна функция

Щракнете тук, за да изтеглите .XLSM файла за този урок

Задайте лист по подразбиране, когато работната книга се отвори

Искате ли да се уверите, че лист винаги се показва първо, когато се отвори работна книга? Например, когато отваряте работна книга, лист3 винаги е активният лист. Ето как.

Можете да се обърнете към лист от VBA по името на програмата (т.е. Sheet3) или по името на раздела (т.е. JanData). Най -добре е да използвате името на програмата, защото ако името на раздела се промени, вашият код VBA, който се отнася до името на раздел, вече няма да работи. Ако обаче използвате името на програмата, потребителят може да промени името на раздела няколко пъти и вашият макрос все още работи.

За да сте сигурни, че определен лист винаги е активиран, когато се отвори работна книга, просто поставете лист. Активирайте кода в подпрограмата workbook_open. Това е пример, който активира sheet3, като използва името на програмата всеки път, когато се отвори работна книга.

123 Private Sub Workbook_Open ()Лист 3. АктивирайтеEnd Sub

И това го прави, като използва името на раздела:

1234 Private Sub Workbook_Open ()Таблици („mytabname“). АктивирайтеEnd Sub

Sidenote: Трябва да запазите и рестартирате Excel, за да работи.
Sidenote: Това работи само ако са разрешени макроси.
Sidenote: Поставете този код в кодовия прозорец за обекта ThisWorkbook във VBE.

Зареждане на формуляр при всяко отваряне на работна книга

Ако искате да заредите формуляр или да стартирате VBA код, когато отваряте работна книга на Excel, поставете кода си в прозореца с кодове на тази работна книга и в подпрограмата Workbook_Open.

От електронната ви таблица:
1. Натиснете ALT и F11, за да отворите VB редактора
2. Щракнете двукратно върху думата ThisWorkbook, за да отворите кодовия прозорец
3. Въведете следния код в прозореца с кодове на тази работна книга

123 Private Sub Workbook_Open ()UserForm1.ShowEnd Sub

Sidenote: Заменете Userform1 с името на формуляра

4. Затворете Excel и го отворете отново.

wave wave wave wave wave