Futtatnia kell egy makrót az Excel indításakor? Két lehetősége van:
1. Hozzon létre egy Workbook_Open () alkönyvet a „ThisWorkbook” -on belül.
2. Helyezzen egy Auto_Open () aloldalt bármelyik modulba.
Workbook_Open Esemény
Hozzon létre egy „Workbook_Open” alcímet a „ThisWorkbook” területen
123 | Workbook_open ()MsgBox "Ez a kód az Excel indításakor futott!"End Sub |
Auto_Nyitás
A második módszer használata: Egyszerűen hozzon létre egy Auto_Open nevű alprogramot, és helyezzen el benne kódot, vagy hívjon onnan egy másik alprogramot. A kód automatikusan fut, amikor az Excel elindul.
123 | Privát al Auto_Open ()MsgBox "Ez a kód az Excel indításakor futott!"End Sub |
Új munkalap létrehozása és elnevezése az Excel megnyitásakor
A következő kód egy munkafüzet megnyitásakor működik. Automatikusan hozzáad egy új lapot, és felcímkézi a dátummal. Azt is ellenőrzi, hogy a lap még nem létezik -e, hogy lehetővé tegye annak napi többször történő kinyitását.
Ez a kód a munkafüzet nyitott eseményét használja, és be kell helyezni a munkafüzet modulba a „Nyitott munkafüzet” esemény alatt. A Sheet_Exist függvényt be kell helyezni egy modulba, és ez ellenőrzi, hogy létezik -e a lap:
123456789101112131415 | Privát almunkafüzet_nyitva ()Dim New_Sheet_Name, mint karakterláncNew_Sheet_Name = Formátum (Most (), "dd-mm-yy")Ha Sheet_Exists (New_Sheet_Name) = Hamis AkkorMunkafüzettelWorksheets.Add (). Name = New_Sheet_NameVége ezzelVége HaMegmentEnd Sub |
12345678910111213 | Függvénylap_Exists (WorkSheet_Name As String) mint BooleanMunkalap munkalapként elhomályosításaSheet_Exists = HamisA ThisWorkbook.Worksheets minden egyes munkalapjáhozHa Work_sheet.Name = Munkalap_neve akkorSheet_Exists = IgazVége HaKövetkezőVége funkció |
Az oktatóanyag .XLSM fájljának letöltéséhez kattintson ide
Állítsa be az alapértelmezett lapot a munkafüzet megnyitásakor
Biztosítani szeretné, hogy a munkafüzet megnyitásakor mindig mindig egy lap jelenjen meg először? Például amikor megnyit egy munkafüzetet3, mindig az aktív munkalap található. Itt van, hogyan.
Hivatkozhat egy lapra a VBA -ból a program neve (pl. Sheet3) vagy a lap neve (azaz JanData) alapján. A legjobb, ha a program nevét használja, mert ha a lap neve megváltozik, a lap nevére hivatkozó VBA -kódja már nem fog működni. Ha azonban a program nevét használja, a felhasználó többször megváltoztathatja a lap nevét, és a makró továbbra is működik.
Annak érdekében, hogy a munkafüzet megnyitásakor mindig aktiválódjon egy bizonyos lap, csak helyezze a sheet.activate kódot a workbook_open allapba. Ez egy példa, amely a munkalap megnyitásakor aktiválja a 3. lapot a program nevének használatával.
123 | Privát almunkafüzet_nyitva ()3. lap. AktiválásEnd Sub |
És ez a lap nevének használatával történik:
1234 | Privát almunkafüzet_nyitva ()Táblázatok ("mytabname"). AktiválásEnd Sub |
Sidenote: Menteni és újra kell indítani az excelt, hogy ez működjön.
Sidenote: Ez csak akkor működik, ha a makrók engedélyezve vannak.
Második megjegyzés: Helyezze be ezt a kódot a ThisWorkbook objektum kódablakába a VBE -ben.
Betöltési űrlap minden alkalommal, amikor megnyílik a munkafüzet
Ha űrlapot szeretne betölteni vagy valamilyen VBA -kódot futtatni az Excel munkafüzet megnyitásakor, helyezze el a kódot a Thisbookbook code ablakban és a Workbook_Open allapon.
A táblázatból:
1. Nyomja meg az ALT és az F11 billentyűt a VB szerkesztő megnyitásához
2. A kódablak megnyitásához kattintson duplán a ThisWorkbook szóra
3. Írja be a következő kódot a ThisWorkbook code ablakba
123 | Privát almunkafüzet_nyitva ()UserForm1.ShowEnd Sub |
Második megjegyzés: Cserélje le a Userform1 formátumot az űrlap nevével
4. Zárja be az Excel programot, és nyissa meg újra.