Ali morate ob zagonu Excela zagnati makro? Imate dve možnosti:
1. V "Ta delovni zvezek" ustvarite pododdelek Workbook_Open ().
2. Postavite podpoglavje Auto_Open () v kateri koli modul.
Delovni zvezek_Odprti dogodek
Ustvarite podnaslov »Delovni zvezek_odprt« v »Ta delovni zvezek«
123 | Workbook_open ()MsgBox "Ta koda je delovala ob zagonu Excela!"End Sub |
Samodejno_odpiranje
Z drugo metodo: Preprosto ustvarite podprogram Auto_Open in vanj vnesite kodo ali pa od tam pokličite drugo podprogram. Koda se samodejno zažene, ko se zažene Excel.
123 | Zasebno podrejence Auto_Open ()MsgBox "Ta koda je delovala ob zagonu Excela!"End Sub |
Ustvari in poimenuj nov delovni list vsakič, ko se odpre Excel
Naslednja koda deluje pri odpiranju delovnega zvezka. Samodejno doda nov list in ga označi z datumom. Prav tako preveri, ali list še ne obstaja - da se omogoči odpiranje več kot enkrat na dan.
Ta koda uporablja odprti dogodek delovnega zvezka in ga je treba vnesti v modul delovnega zvezka pod dogodkom »odprta delovna knjiga«. Funkcijo Sheet_Exist je treba postaviti v modul in s tem preveriti, ali list obstaja ali ne:
123456789101112131415 | Private Sub Workbook_Open ()Zatemni New_Sheet_Name As StringNew_Sheet_Name = Oblika (Zdaj (), "dd-mm-yy")Če Sheet_Exists (New_Sheet_Name) = False PotemZ delovnim zvezkomDelovni listi.Add (). Name = New_Sheet_NameKončaj sKonec ČeShraniEnd Sub |
12345678910111213 | Funkcijski list_Exists (ime delovnega lista_iniz kot niz) kot logičnoZatemni delovni list kot delovni listList_Exists = NeresničnoZa vsak delovni list v tem delovnem zvezkuČe je Work_sheet.Name = WorkSheet_Name PotemList_Exists = ResKonec ČeNaslednjiKončana funkcija |
Če želite prenesti datoteko .XLSM za to vadnico, kliknite tukaj
Ko se odpre delovni zvezek, nastavite privzeti list
Ali želite, da se list vedno prikaže najprej, ko se odpre delovni zvezek? Na primer, ko odprete list delovnega zvezka3, je vedno aktiven list. Evo kako.
Na list VBA se lahko sklicujete po imenu programa (tj. Sheet3) ali po imenu zavihka (tj. JanData). Najbolje je, da uporabite ime programa, ker če se ime zavihka spremeni, vaša koda VBA, ki se nanaša na ime zavihka, ne bo več delovala. Če pa uporabite ime programa, lahko uporabnik večkrat spremeni ime zavihka in vaš makro še vedno deluje.
Če se želite prepričati, da je določen list vedno aktiviran, ko se odpre delovni zvezek, samo postavite list.aktivacijo kode v pododdelek delovni zvezek. To je primer, ki aktivira sheet3 z uporabo imena programa vsakič, ko se odpre delovni zvezek.
123 | Private Sub Workbook_Open ()List 3. AktivirajteEnd Sub |
In to počne z imenom zavihka:
1234 | Private Sub Workbook_Open ()Listi ("mytabname"). AktivirajteEnd Sub |
Sidenote: Če želite, da to deluje, morate shraniti in znova zagnati Excel.
Sidenote: To deluje le, če so omogočeni makri.
Opomba: To kodo vnesite v okno za kodo za objekt ThisWorkbook v VBE.
Naloži obrazec vsakič, ko se odpre delovni zvezek
Če želite naložiti obrazec ali zagnati kodo VBA, ko odprete Excelov delovni zvezek, ga postavite v okno za kodo tega delovnega zvezka in v pododdelek Workbook_Open.
Iz vaše preglednice:
1. Pritisnite ALT in F11, da odprete urejevalnik VB
2. Dvokliknite besedo ThisWorkbook, da odprete okno s kodo
3. V okno ThisWorkbook code vnesite naslednjo kodo
123 | Private Sub Workbook_Open ()UserForm1.ShowEnd Sub |
Sporočilo: Uporabniški obrazec1 zamenjajte z imenom svojega obrazca
4. Zaprite Excel in znova odprite.