Futtasson makrót az Excel indításakor - VBA -kód példák

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.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave