Spustite makro, keď sa spustí Excel - Príklady kódu VBA

Potrebujete spustiť makro, keď sa spustí Excel? Máte dve možnosti:

1. V časti „Táto pracovná kniha“ vytvorte podponuku Workbook_Open ().

2. Do akéhokoľvek modulu umiestnite podsekciu Auto_Open ().

Zošit_Otvorená udalosť

V „ThisWorkbook“ vytvorte podtitul s názvom „Pracovný zošit_Otvorený“.

123 Zošit_otvorený ()MsgBox "Tento kód bol spustený pri štarte programu Excel!"Koniec pod

Auto_Open

Použitie druhej metódy: Jednoducho vytvorte podprogram s názvom Auto_Open a vložte doň kód alebo z neho zavolajte ďalší podprogram. Kód sa automaticky spustí, keď sa spustí Excel.

123 Súkromné ​​čiastkové automatické otváranie ()MsgBox "Tento kód bol spustený pri štarte programu Excel!"Koniec pod

Vytvorte a pomenujte nový pracovný hárok vždy, keď sa otvorí Excel

Nasledujúci kód funguje pri otvorení zošita. Automaticky pridá nový hárok a označí ho dátumom. Kontroluje tiež, či hárok ešte neexistuje - aby sa umožnilo jeho otvorenie viac ako raz denne.

Tento kód využíva otvorenú udalosť zošita a musí byť umiestnený v module zošita pod udalosťou „otvorený zošit“. Funkcia Sheet_Exist musí byť umiestnená v module a kontroluje, či hárok existuje alebo nie:

123456789101112131415 Súkromný čiastkový zošit_Otvorený ()Dim New_Sheet_Name as StringNew_Sheet_Name = Formát (Teraz (), "dd-mm-rr")Ak Sheet_Exists (New_Sheet_Name) = False ThenSo zošitomWorksheets.Add (). Name = New_Sheet_NameUkončiť sKoniec AkUložiťKoniec pod
12345678910111213 Funkcia Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet as WorkheetSheet_Exists = FalsePre každý pracovný list v ThisWorkbook.WorksheetsAk Work_sheet.Name = WorkSheet_Name PotomSheet_Exists = PravdaKoniec AkĎalšieKoncová funkcia

Kliknite sem, ak si chcete stiahnuť súbor .XLSM pre tento návod

Nastaviť predvolený list pri otvorení zošita

Chcete zaistiť, aby sa hárok vždy zobrazoval ako prvý pri otvorení zošita? Keď napríklad otvoríte zošit, list3 je vždy aktívny list. Tu je postup.

Na list z VBA sa môžete odkazovať podľa názvu programu (tj. Sheet3) alebo podľa názvu karty (napr. JanData). Najlepšie je použiť názov programu, pretože ak sa názov karty zmení, váš kód VBA, ktorý odkazuje na názov karty, už nebude fungovať. Ak však použijete názov programu, používateľ môže názov záložky zmeniť viackrát a vaše makro stále funguje.

Aby ste sa uistili, že sa určitý hárok vždy aktivuje pri otvorení zošita, stačí vložiť hárok.aktivujte kód do čiastkového zošita. Toto je príklad, ktorý aktivuje sheet3 pomocou názvu programu pri každom otvorení zošita.

123 Súkromný čiastkový zošit_Otvorený ()List 3. AktivujteKoniec pod

A to sa deje pomocou názvu karty:

1234 Súkromný čiastkový zošit_Otvorený ()Tabuľky ("mytabname"). AktivujteKoniec pod

Poznámka: Aby to fungovalo, musíte program Excel uložiť a reštartovať.
Sidenote: Toto funguje iba vtedy, ak sú povolené makrá.
Poznámka: Vložte tento kód do okna kódu pre objekt ThisWorkbook vo VBE.

Načítať formulár pri každom otvorení zošita

Ak chcete pri otváraní zošita programu Excel načítať formulár alebo spustiť nejaký kód VBA, zadajte kód do okna s kódom Thisworkbook a do podponoly Workbook_Open.

Z vašej tabuľky:
1. Stlačením klávesov ALT a F11 otvorte editor VB
2. Dvojitým kliknutím na slovo ThisWorkbook otvoríte okno s kódom
3. Do okna Kód ThisWorkbook zadajte nasledujúci kód

123 Súkromný čiastkový zošit_Otvorený ()UserForm1.ShowKoniec pod

Poznámka: Nahraďte Userform1 názvom formulára

4. Zatvorte Excel a znova ho otvorte.

wave wave wave wave wave