Да ли морате да покренете макро када се Екцел покрене? Имате две могућности:
1. Направите пододељак Воркбоок_Опен () унутар „ТхисВоркбоок“.
2. Поставите подмени Ауто_Опен () у било који модул.
Воркбоок_Опен Евент
Направите поднаслов „Воркбоок_Опен“ у оквиру „ТхисВоркбоок“
123 | Воркбоок_опен ()МсгБок "Овај код је покренут при покретању програма Екцел!"Енд Суб |
Ауто_Опен
Користећи другу методу: Једноставно креирајте потпрограм под називом Ауто_Опен и унесите код у њега или позовите други пододатак. Код се аутоматски покреће при покретању програма Екцел.
123 | Привате Суб Ауто_Опен ()МсгБок "Овај код је покренут при покретању програма Екцел!"Енд Суб |
Креирајте и именујте нови радни лист сваки пут када се Екцел отвори
Следећи код функционише при отварању радне свеске. Аутоматски додаје нови лист и означава га датумом. Такође проверава да ли лист већ постоји - како би се омогућило отварање више од једном дневно.
Овај код користи Отворени догађај радне свеске и мора се ставити у модул радне свеске под догађајем „Отворена радна књига“. Функција Схеет_Екист мора бити смештена у модул и ово проверава да ли лист постоји или не:
123456789101112131415 | Привате Суб Воркбоок_Опен ()Дим Нев_Схеет_Наме Ас СтрингНев_Схеет_Наме = Формат (Нов (), "дд-мм-ии")Ако Схеет_Екистс (Нев_Схеет_Наме) = Нетачно ОндаСа радном свескомВорксхеетс.Адд (). Наме = Нев_Схеет_НамеЗавршитиКрај АкосачуватиЕнд Суб |
12345678910111213 | Функционални лист_Екистс (назив радног листа_ као низ) Као логичкоДим Ворк_схеет Ас ВорксхеетЛист_Екистс = НетачноЗа сваки радни лист у овој радној свесци. Радни листовиАко је Ворк_схеет.Наме = Назив_радног листа ондаЛист_Екистс = ТачноКрај АкоСледећиЗавршна функција |
Кликните овде да бисте преузели .КСЛСМ датотеку за овај водич
Подесите подразумевани лист када се отвори радна свеска
Желите ли да се уверите да се лист увек први приказује када се отвори радна свеска? На пример, када отворите лист радне свеске3 увек је активан лист. Ево како.
На лист из ВБА можете се позвати по називу програма (тј. Схеет3) или по називу картице (тј. ЈанДата). Најбоље је користити назив програма, јер ако се назив картице промени, ваш ВБА код који се односи на назив картице више неће радити. Међутим, ако користите назив програма, корисник може променити назив картице више пута и ваш макро и даље ради.
Да бисте били сигурни да је одређени лист увек активиран када се радна свеска отвори, само поставите схеет.ацтивате код у под -радну књигу_опен. Ово је пример који активира схеет3 коришћењем назива програма сваки пут када се отвори радна свеска.
123 | Привате Суб Воркбоок_Опен ()Лист3.АктивирајЕнд Суб |
И то ради помоћу назива картице:
1234 | Привате Суб Воркбоок_Опен ()Табеле („митабнаме“). АктивирајтеЕнд Суб |
Сиденоте: Морате сачувати и поново покренути Екцел да би ово функционисало.
Сиденоте: Ово функционише само ако су омогућени макрои.
Споредна напомена: Ставите овај код у прозор кода за објект ТхисВоркбоок у ВБЕ -у.
Учитај образац сваки пут када се отвори радна свеска
Ако желите да учитате образац или покренете неки ВБА код када отворите екцел радну свеску, поставите код у прозор кода ове радне свеске и у пододредницу Воркбоок_Опен.
Из ваше табеле:
1. Притисните АЛТ и Ф11 да отворите ВБ едитор
2. Двапут кликните на реч ТхисВоркбоок да бисте отворили прозор кода
3. Откуцајте следећи код у прозору ТхисВоркбоок цоде
123 | Привате Суб Воркбоок_Опен ()УсерФорм1.СховЕнд Суб |
Напомена: Замените Усерформ1 именом вашег обрасца
4. Затворите Екцел и поново га отворите.