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.