Kør en makro, når Excel starter - eksempler på VBA -kode

Skal du køre en makro, når Excel starter? Du har to muligheder:

1. Opret en Workbook_Open () sub i 'ThisWorkbook'.

2. Placer en Auto_Open () sub i et hvilket som helst modul.

Workbook_Open begivenhed

Opret en undertitel 'Workbook_Open' i 'ThisWorkbook'

123 Workbook_open ()MsgBox "Denne kode kørte ved Excel start!"Afslut Sub

Auto_Open

Ved hjælp af den anden metode: Opret blot en underrutine kaldet Auto_Open, og placer kode i den, eller ring til en anden sub derfra. Din kode kører automatisk, når Excel starter.

123 Privat sub Auto_Open ()MsgBox "Denne kode kørte ved Excel start!"Afslut Sub

Opret og navngiv nyt regneark hver gang Excel åbner

Følgende kode fungerer ved at åbne en projektmappe. Det tilføjer automatisk et nyt ark og mærker det med datoen. Det kontrollerer også, om arket ikke allerede findes - for at give mulighed for, at det kan åbnes mere end en gang om dagen.

Denne kode gør brug af Workbook Open Event og skal placeres i projektmappemodulet under "Open work Book" -begivenheden. Funktionen Sheet_Exist skal placeres i et modul, og dette kontrollerer, om arket findes:

123456789101112131415 Private Sub Workbook_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Format (Nu (), "dd-mm-åå")Hvis Sheet_Exists (New_Sheet_Name) = Falsk SåMed arbejdsbogWorksheets.Add (). Name = New_Sheet_NameAfslut medAfslut HvisGemmeAfslut Sub
12345678910111213 Funktionsark_eksisterer (WorkSheet_Name som streng) Som boolskDim Work_sheet Som regnearkSheet_Exists = FalskFor hvert arbejdsark i ThisWorkbook.WorksheetsHvis Work_sheet.Name = WorkSheet_Name SåSheet_Exists = SandtAfslut HvisNæsteAfslut funktion

Klik her for at downloade .XLSM -filen til denne vejledning

Indstil standardarket, når projektmappen åbnes

Vil du sikre dig, at et ark altid vises først, når en projektmappe åbnes? For eksempel når du åbner et projektmappeark3, er det altid det aktive ark. Sådan gør du.

Du kan referere til et ark fra VBA ved dets programnavn (dvs. Sheet3) eller ved dets faneblad (dvs. JanData). Det er bedst at bruge programnavnet, fordi hvis fanenavnet ændres, fungerer din VBA -kode, der henviser til et fanenavn, ikke længere. Men hvis du bruger programnavnet, kan en bruger ændre fanenavnet flere gange, og din makro fungerer stadig.

For at sikre, at et bestemt ark altid er aktiveret, når en projektmappe åbnes, skal du blot placere ark. Aktivere kode i projektmappen_åben sub. Dette er et eksempel, der aktiverer sheet3 ved at bruge programnavnet, hver gang en projektmappe åbnes.

123 Private Sub Workbook_Open ()Ark 3.AktiverAfslut Sub

Og dette gør det ved at bruge fanenavnet:

1234 Private Sub Workbook_Open ()Ark ("mit fanenavn"). AktiverAfslut Sub

Sidenote: Du skal gemme og genstarte excel for at dette kan fungere.
Sidenote: Dette fungerer kun, hvis makroer er aktiveret.
Sidenote: Sæt denne kode i kodevinduet for ThisWorkbook -objektet i VBE.

Indlæs formular hver gang, arbejdsbogen åbnes

Hvis du gerne vil indlæse en formular eller køre en VBA -kode, når du åbner en Excel -projektmappe, skal du placere din kode i vinduet Thisworkbook -kode og i Workbook_Open -sub.

Fra dit regneark:
1. Tryk på ALT og F11 for at åbne VB -editoren
2. Dobbeltklik på ordet ThisWorkbook for at åbne kodevinduet
3. Indtast følgende kode i vinduet ThisWorkbook -kode

123 Private Sub Workbook_Open ()UserForm1.ShowAfslut Sub

Sidenote: Erstat Userform1 med dit formularnavn

4. Luk Excel, og åbn igen.

wave wave wave wave wave