Behöver du köra ett makro när Excel startar? Du har två alternativ:
1. Skapa en Workbook_Open () -und under ”ThisWorkbook”.
2. Placera en Auto_Open () sub i valfri modul.
Workbook_Open Event
Skapa en underrubrik "Workbook_Open" i "ThisWorkbook"
123 | Workbook_open ()MsgBox "Den här koden kördes vid Excel -start!"Avsluta Sub |
Auto_Open
Med den andra metoden: Skapa helt enkelt en delrutan som heter Auto_Open och placera kod i den, eller ring en annan sub därifrån. Koden körs automatiskt när Excel startas.
123 | Privat del Auto_Open ()MsgBox "Den här koden kördes vid Excel -start!"Avsluta Sub |
Skapa och namnge nytt kalkylblad varje gång Excel öppnas
Följande kod fungerar genom att öppna en arbetsbok. Det lägger automatiskt till ett nytt ark och märker det med datumet. Det kontrollerar också att arket inte redan finns - för att möjliggöra att det kan öppnas mer än en gång om dagen.
Denna kod använder Workbook Open Event och måste placeras i arbetsboksmodulen under "Open work Book" -händelsen. Funktionen Sheet_Exist måste placeras i en modul och detta kontrollerar om arket finns eller inte:
123456789101112131415 | Private Sub Workbook_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Format (Nu (), "dd-mm-åå")Om Sheet_Exists (New_Sheet_Name) = Falskt DåMed arbetsbokWorksheets.Add (). Name = New_Sheet_NameSluta medAvsluta omSparaAvsluta Sub |
12345678910111213 | Function Sheet_Exists (WorkSheet_Name As String) As BooleanDim Arbetsblad som arbetsbladSheet_Exists = FalsktFör varje arbetsblad i ThisWorkbook.WorksheetsOm Work_sheet.Name = WorkSheet_Name DåSheet_Exists = SantAvsluta omNästaAvsluta funktion |
För att ladda ner .XLSM -filen för den här självstudien, klicka här
Ställ in standardbladet när arbetsboken öppnas
Vill du se till att ett blad alltid visas först när en arbetsbok öppnas? Till exempel när du öppnar ett arbetsbokblad3 är alltid det aktiva bladet. Här är hur.
Du kan hänvisa till ett blad från VBA med dess programnamn (dvs. Sheet3) eller med dess fliknamn (dvs. JanData). Det är bäst att använda programnamnet, för om fliknamnet ändras, fungerar din VBA -kod som hänvisar till ett fliknamn inte längre. Men om du använder programnamnet kan en användare ändra fliknamnet flera gånger och ditt makro fungerar fortfarande.
För att säkerställa att ett visst blad alltid är aktiverat när en arbetsbok öppnas, placerar du bara blad. Aktivera koden i arbetsboken_öppna sub. Detta är ett exempel som aktiverar sheet3 genom att använda programnamnet varje gång en arbetsbok öppnas.
123 | Private Sub Workbook_Open ()Ark 3. AktiveraAvsluta Sub |
Och detta gör det genom att använda fliknamnet:
1234 | Private Sub Workbook_Open ()Kalkylark ("mytabname"). AktiveraAvsluta Sub |
Sidenote: Du måste spara och starta om Excel för att detta ska fungera.
Sidenote: Detta fungerar bara om makron är aktiverade.
Sidenote: Lägg den här koden i kodfönstret för ThisWorkbook -objektet i VBE.
Ladda formulär varje gång arbetsboken öppnas
Om du vill ladda ett formulär eller köra någon VBA -kod när du öppnar en Excel -arbetsbok, placerar du koden i fönstret Thisworkbook -kod och i Workbook_Open -sub.
Från ditt kalkylblad:
1. Tryck på ALT och F11 för att öppna VB -redigeraren
2. Dubbelklicka på ordet ThisWorkbook för att öppna kodfönstret
3. Skriv följande kod i ThisWorkbook -kodfönstret
123 | Private Sub Workbook_Open ()UserForm1.ShowAvsluta Sub |
Sidenote: Ersätt Userform1 med ditt formulärnamn
4. Stäng Excel och öppna igen.