Må du kjøre en makro når Excel starter? Du har to alternativer:
1. Opprett en Workbook_Open () sub i "ThisWorkbook".
2. Plasser en Auto_Open () sub i en hvilken som helst modul.
Arbeidsbok_Åpent arrangement
Lag en undertittel 'Workbook_Open' i 'ThisWorkbook'
123 | Workbook_open ()MsgBox "Denne koden kjørte ved Excel start!"Slutt Sub |
Auto_Open
Ved hjelp av den andre metoden: Bare opprett en underprogram som heter Auto_Open og legg koden i den, eller ring en annen sub derfra. Koden din kjøres automatisk når Excel starter.
123 | Privat sub Auto_Open ()MsgBox "Denne koden kjørte ved Excel start!"Slutt Sub |
Lag og navngi nytt regneark hver gang Excel åpnes
Følgende kode fungerer ved å åpne en arbeidsbok. Det legger automatisk til et nytt ark og merker det med datoen. Den kontrollerer også at arket ikke allerede eksisterer - for å tillate muligheten for at det kan åpnes mer enn en gang om dagen.
Denne koden bruker Workbook Open Event og må plasseres i arbeidsbokmodulen under "Open work Book" -hendelsen. Funksjonen Sheet_Exist må plasseres i en modul, og denne kontrollerer om arket eksisterer eller ikke:
123456789101112131415 | Private Sub Workbook_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Format (Nå (), "dd-mm-åå")Hvis Sheet_Exists (New_Sheet_Name) = False DaMed arbeidsbokWorksheets.Add (). Name = New_Sheet_NameSlutt medSlutt omLagreSlutt Sub |
12345678910111213 | Funksjon Sheet_Exists (WorkSheet_Name As String) Som boolskDim Work_sheet Som regnearkSheet_Exists = FalseFor hvert arbeidsark i ThisWorkbook.WorksheetsHvis Work_sheet.Name = WorkSheet_Name DaSheet_Exists = SantSlutt omNesteSluttfunksjon |
For å laste ned .XLSM -filen for denne opplæringen, klikk her
Angi standardarket når arbeidsboken åpnes
Vil du være sikker på at et ark alltid vises først når en arbeidsbok åpnes? For eksempel når du åpner et arbeidsbokark3, er alltid det aktive arket. Dette er hvordan.
Du kan referere til et ark fra VBA ved å bruke programnavnet (dvs. Sheet3) eller tabbenavnet (dvs. JanData). Det er best å bruke programnavnet, for hvis fanenavnet endres, vil ikke VBA -koden som refererer til et fanenavn lenger fungere. Men hvis du bruker programnavnet, kan en bruker endre fanenavnet flere ganger, og makroen din fungerer fortsatt.
For å sikre at et bestemt ark alltid er aktivert når en arbeidsbok åpnes, er det bare å plassere ark. Aktivere koden i arbeidsboken_åpne sub. Dette er et eksempel som aktiverer sheet3 ved å bruke programnavnet hver gang en arbeidsbok åpnes.
123 | Private Sub Workbook_Open ()Ark 3.AktiverSlutt Sub |
Og dette gjør det ved å bruke fanenavnet:
1234 | Private Sub Workbook_Open ()Ark ("mytabname"). AktiverSlutt Sub |
Sidenote: Du må lagre og starte excel på nytt for at dette skal fungere.
Sidenote: Dette fungerer bare hvis makroer er aktivert.
Sidenote: Sett denne koden i kodevinduet for ThisWorkbook -objektet i VBE.
Last skjema hver gang arbeidsbok åpnes
Hvis du vil laste inn et skjema eller kjøre noen VBA -kode når du åpner en Excel -arbeidsbok, plasserer du koden i vinduet Thisworkbook -kode og i arbeidsboken_Open sub.
Fra regnearket:
1. Trykk ALT og F11 for å åpne VB -editoren
2. Dobbeltklikk på ordet ThisWorkbook for å åpne kodevinduet
3. Skriv inn følgende kode i ThisWorkbook -kodevinduet
123 | Private Sub Workbook_Open ()UserForm1.ShowSlutt Sub |
Sidenote: Erstatt Userform1 med skjemanavnet ditt
4. Lukk Excel og åpne igjen.