Paleiskite makrokomandą, kai „Excel“ paleidžiama - VBA kodo pavyzdžiai

Ar paleidus „Excel“ reikia paleisti makrokomandą? Turite dvi parinktis:

1. Sukurkite antraštę „Workbook_Open ()“ „ThisWorkbook“.

2. Įdėkite Auto_Open () antrinį elementą į bet kurį modulį.

Workbook_Open Event

„ThisWorkbook“ sukurkite antraštę „Workbook_Open“

123 Workbook_open ()MsgBox "Šis kodas buvo paleistas paleidžiant" Excel "!"Pabaiga Sub

Auto_Open

Antrojo metodo naudojimas: tiesiog sukurkite paprogramę, pavadintą „Auto_Open“, ir įdėkite į ją kodą arba iš ten paskambinkite kitam antriniam skyriui. Paleidus „Excel“, jūsų kodas paleidžiamas automatiškai.

123 Privatus papildomas automatinis atidarymas ()MsgBox "Šis kodas buvo paleistas paleidžiant" Excel "!"Pabaiga Sub

Kiekvieną kartą atidarius „Excel“ sukurkite ir pavadinkite naują darbalapį

Šis kodas veikia atidarant darbaknygę. Jis automatiškai prideda naują lapą ir pažymi jį data. Taip pat tikrinama, ar lapas dar neegzistuoja - kad būtų galima jį atidaryti daugiau nei kartą per dieną.

Šis kodas naudoja atvirą darbaknygės įvykį ir turi būti įtrauktas į darbaknygės modulį, esantį įvykyje „Atidaryti darbo knygą“. Funkcija „Sheet_Exist“ turi būti įdėta į modulį ir tai patikrina, ar lapas yra:

123456789101112131415 Privati ​​antrinė darbo knyga_Atidaryti ()Pritemdyti New_Sheet_Name kaip eilutęNew_Sheet_Name = Formatas (dabar (), "dd-mm-yy")Jei Sheet_Exists (New_Sheet_Name) = False TadaSu darbo knygaDarbo lapai. Pridėti (). Pavadinimas = Naujas_lapo_pavadinimasPabaiga suPabaiga JeiSutaupytiPabaiga Sub
12345678910111213 Funkcijų lapas_Eksistuoja (Darbo lapas_pavadinimas kaip eilutė) kaip loginisUžtemdyti darbo_lapą kaip darbalapįSheet_Exists = NetiesaUž kiekvieną darbo_lapą „ThisWorkbook.Worksheets“Jei Work_sheet.Name = WorkSheet_Name TadaSheet_Exists = TiesaPabaiga JeiKitasPabaigos funkcija

Norėdami atsisiųsti .XLSM failą šiai pamokai, spustelėkite čia

Atidarę darbaknygę nustatykite numatytąjį lapą

Ar norite įsitikinti, kad atidarius darbaknygę lapas visada rodomas pirmiausia? Pavyzdžiui, kai atidarote darbaknygės lapą3, visada yra aktyvus lapas. Štai kaip.

Galite kreiptis į VBA lapą pagal programos pavadinimą (ty Sheet3) arba pagal skirtuko pavadinimą (ty JanData). Geriausia naudoti programos pavadinimą, nes pasikeitus skirtuko pavadinimui, jūsų VBA kodas, nurodantis skirtuko pavadinimą, nebeveiks. Tačiau jei naudojate programos pavadinimą, vartotojas gali kelis kartus pakeisti skirtuko pavadinimą ir jūsų makrokomanda vis tiek veikia.

Jei norite įsitikinti, kad atidarius darbaknygę visada suaktyvinamas tam tikras lapas, tiesiog įdėkite sheet.activate kodą į workbook_open sub. Tai pavyzdys, suaktyvinantis lapą 3, naudojant programos pavadinimą kiekvieną kartą, kai atidaroma darbaknygė.

123 Privati ​​antrinė darbo knyga_Atidaryti ()Lapas 3. AktyvuotiPabaiga Sub

Ir tai daroma naudojant skirtuko pavadinimą:

1234 Privati ​​antrinė darbo knyga_Atidaryti ()Skaičiuoklės („mytabname“). AktyvintiPabaiga Sub

Sidenote: Kad tai veiktų, turite išsaugoti ir iš naujo paleisti „Excel“.
Sidenote: Tai veikia tik tada, kai įjungtos makrokomandos.
Šalutinė pastaba: įdėkite šį kodą į „ThisWorkbook“ objekto kodo langą VBE.

Įkelti formą kiekvieną kartą atidarius darbaknygę

Jei atidarę „Excel“ darbaknygę norite įkelti formą arba paleisti tam tikrą VBA kodą, įdėkite savo kodą į langą „Ši darbaknygės kodas“ ir „Workbook_Open“ antraštę.

Iš skaičiuoklės:
1. Paspauskite ALT ir F11, kad atidarytumėte VB redaktorių
2. Dukart spustelėkite žodį ThisWorkbook, kad atidarytumėte kodo langą
3. Lange ThisWorkbook code įveskite šį kodą

123 Privati ​​antrinė darbo knyga_Atidaryti ()UserForm1.ShowPabaiga Sub

Sidenote: pakeiskite Userform1 savo formos pavadinimu

4. Uždarykite „Excel“ ir vėl atidarykite.

wave wave wave wave wave