Zaženite makro, ko se Excel zažene - primeri kode VBA

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.

wave wave wave wave wave