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.