Potřebujete spustit makro při spuštění Excelu? Máte dvě možnosti:
1. Vytvořte pod Workbook_Open () díl v „ThisWorkbook“.
2. Umístěte dílčí díl Auto_Open () do jakéhokoli modulu.
Sešit_Otevřená událost
V „ThisWorkbook“ vytvořte podtitul „Sešit_Otevřený“
123 | Sešit_otevřený ()MsgBox "Tento kód běžel při spuštění aplikace Excel!"End Sub |
Auto_Open
Pomocí druhé metody: Jednoduše vytvořte podprogram nazvaný Auto_Open a vložte do něj kód, nebo odtud zavolejte jiný dílčí program. Automaticky se váš kód spustí při spuštění aplikace Excel.
123 | Soukromé Sub Auto_Open ()MsgBox "Tento kód běžel při spuštění aplikace Excel!"End Sub |
Vytvořte a pojmenujte nový list vždy, když se otevře Excel
Následující kód funguje při otevření sešitu. Automaticky přidá nový list a označí jej datem. Zkontroluje také, zda list již neexistuje - aby bylo možné jej otevřít více než jednou denně.
Tento kód využívá otevřenou událost sešitu a musí být umístěn v modulu sešitu pod událostí „Otevřít sešit“. Funkce Sheet_Exist musí být umístěna v modulu a toto kontroluje, zda list existuje:
123456789101112131415 | Soukromý dílčí sešit_Otevřít ()Dim New_Sheet_Name jako řetězecNew_Sheet_Name = Formát (nyní (), "dd-mm-rr")Pokud Sheet_Exists (New_Sheet_Name) = False ThenSe sešitemWorksheets.Add (). Name = New_Sheet_NameKonec sKonec IfUložitEnd Sub |
12345678910111213 | Funkce Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet as WorksheetSheet_Exists = FalsePro každý pracovní list v ThisWorkbook.WorksheetsIf Work_sheet.Name = WorkSheet_Name ThenSheet_Exists = PravdaKonec IfdalšíKoncová funkce |
Kliknutím sem stáhnete soubor .XLSM pro tento výukový program
Nastavit výchozí list při otevření sešitu
Chcete zajistit, aby se list vždy zobrazoval jako první při otevření sešitu? Například když otevřete sešit list3 je vždy aktivní list. Zde je postup.
Na list z VBA můžete odkazovat podle názvu programu (tj. Sheet3) nebo podle názvu karty (tj. JanData). Nejlepší je použít název programu, protože pokud se název karty změní, váš kód VBA odkazující na název karty již nebude fungovat. Pokud však použijete název programu, uživatel může název karty změnit vícekrát a vaše makro stále funguje.
Abyste zajistili, že se při otevření sešitu vždy aktivuje určitý list, stačí umístit sheet.activate kód do dílčího sešitu_otevření. Toto je příklad, který aktivuje sheet3 pomocí názvu programu při každém otevření sešitu.
123 | Soukromý dílčí sešit_Otevřít ()List 3. AktivovatEnd Sub |
A to pomocí názvu karty:
1234 | Soukromý dílčí sešit_Otevřít ()Tabulky („mytabname“). AktivujteEnd Sub |
Sidenote: Aby to fungovalo, musíte Excel uložit a restartovat.
Poznámka: Toto funguje pouze v případě, že jsou povolena makra.
Poznámka: Vložte tento kód do okna kódu pro objekt ThisWorkbook ve VBE.
Načíst formulář při každém otevření sešitu
Pokud byste chtěli načíst formulář nebo spustit nějaký kód VBA při otevření sešitu aplikace Excel, vložte kód do okna kódu Thisworkbook a do dílčího sešitu Workbook_Open.
Z vaší tabulky:
1. Stisknutím ALT a F11 otevřete editor VB
2. Poklepáním na slovo ThisWorkbook otevřete okno kódu
3. Do okna Kód ThisWorkbook zadejte následující kód
123 | Soukromý dílčí sešit_Otevřít ()UserForm1.ShowEnd Sub |
Sidenote: Nahraďte Userform1 názvem vašeho formuláře
4. Zavřete Excel a znovu otevřete.