Excel VBA pavyzdžiai: įvadinių įvykių pavyzdžiai

Jei bandote gerai išmanyti „Excel VBA“ , jums tikriausiai būtų naudingi keli pavyzdžiai, kad patobulintumėte tą vizualinį pagrindinį meistriškumą. Čia rasite kelis Excel VBA pavyzdžius, kad galėtumėte susipažinti su šiuo įvykių tvarkymo verslu.

Excel VBA pavyzdys: darbaknygės atidarymo įvykis

Vienas iš dažniausiai naudojamų Excel VBA įvykių yra Workbook Open įvykis. Tarkime, kad turite darbaknygę, kurią naudojate kiekvieną dieną. Procedūra Workbook_Open šiame pavyzdyje vykdoma kiekvieną kartą atidarius darbaknygę. Procedūra tikrina savaitės dieną; jei penktadienis, kodas rodo jums priminimo pranešimą.

Norėdami sukurti „Excel“ VBA procedūrą, kuri vykdoma kiekvieną kartą, kai įvyksta darbaknygės atidarymo įvykis, atlikite šiuos veiksmus:

Atidarykite „Excel“ darbaknygę.
Tiks bet kuri „Excel“ darbaknygė.

Paspauskite Alt + F11, kad suaktyvintumėte VBE.

Projekto lange raskite darbaknygę.

Dukart spustelėkite projekto pavadinimą, kad būtų rodomi jo elementai, jei reikia.

Dukart spustelėkite elementą ThisWorkbook.
VBE rodo tuščią „ThisWorkbook“ objekto kodo langą.

Lango Kodas išskleidžiamajame sąraše Objektas (kairėje) pasirinkite Darbaknygė.
VBE įveda darbo knygos_Open procedūros pradžios ir pabaigos sakinius.

Įveskite šiuos teiginius, kad visa renginio procedūra atrodytų taip:

Privati ​​antrinė darbaknygė_Open()
  Pritemdyti pranešimą kaip eilutę
  Jei savaitės diena (dabar) = 6 Tada
    Msg = "Šiandien penktadienis. Nepamirškite "
    Msg = Msg & "pateikite TPS ataskaitą!"
    MsgBox Msg
  Pabaiga, jei
Pabaigos sub

Kodo langas turėtų atrodyti taip.

Excel VBA pavyzdžiai: įvadinių įvykių pavyzdžiai

Ši įvykių tvarkyklės procedūra vykdoma atidarius darbaknygę.

Darbaknygė_Open vykdoma automatiškai, kai tik atidaroma darbaknygė. Jis naudoja VBA WeekDay funkciją, kad nustatytų savaitės dieną. Jei penktadienis (6 diena), pranešimo langelis primena vartotojui, kad jis turi pateikti ataskaitą. Jei ne penktadienis, nieko neatsitiks.

Jei šiandien ne penktadienis, jums gali būti sunku išbandyti šią procedūrą. Galite tiesiog pakeisti 6, kad atitiktų šiandienos faktinį dienos skaičių.

Ir, žinoma, šią procedūrą galite keisti kaip tik norite. Pavyzdžiui, šioje versijoje kiekvieną kartą atidarant darbaknygę rodomas pranešimas. Tai po kurio laiko pradeda erzinti.

„Workbook_Open“ procedūra gali padaryti beveik viską. Šios įvykių tvarkyklės dažnai naudojamos šiems tikslams:

  • Pasisveikinimo pranešimų rodymas (pvz., puikioje Franko darbaknygėje)
  • Kitų darbo knygų atidarymas
  • Tam tikro darbalapio aktyvinimas darbaknygėje
  • Pasirinktinių nuorodų meniu nustatymas

Štai paskutinis Excel VBA procedūros Workbook_Open pavyzdys, kuris naudoja GetSetting ir SaveSetting funkcijas, kad galėtų sekti, kiek kartų darbaknygė buvo atidaryta. Funkcija „SaveSetting“ įrašo reikšmę į „Windows“ registrą, o funkcija „GetSetting“ nuskaito tą reikšmę (daugiau informacijos rasite žinyno sistemoje). Šis Excel VBA pavyzdys nuskaito skaičių iš registro, padidina jį ir išsaugo jį atgal registre. Ji taip pat nurodo vartotojui Cnt reikšmę, atitinkančią darbaknygės atidarymo kartų skaičių.

Privati ​​antrinė darbaknygė_Open()
  Dim Cnt As Long
  Cnt = GetSetting ("Mano programa", "Nustatymai", "Atidaryti", 0)
  Cnt = Cnt + 1
  „SaveSetting“ „MyApp“, „Nustatymai“, „Atidaryti“, „Cnt
  MsgBox "Ši darbaknygė buvo atidaryta " & Cnt & " kartus."
Pabaigos sub

Excel VBA pavyzdžiai: įvadinių įvykių pavyzdžiai

Workbook_Open įvykių tvarkyklės naudojimas norint sekti, kiek kartų darbaknygė buvo atidaryta.

Excel VBA pavyzdys: darbaknygės įvykis BeforeClose

Štai „Excel VBA Workbook_BeforeClose“ įvykių tvarkyklės procedūros, kuri vykdoma automatiškai prieš pat uždarant darbaknygę, pavyzdys. Ši procedūra yra „ThisWorkbook“ objekto kodo lange:

Privati ​​antrinė darbo knyga_Prieš uždarymą (Atšaukti kaip Būlio)
  Pritemdyti pranešimą kaip eilutę
  Dim Ans As Long
  Dim FName As String
  Msg = "Ar norėtumėte sukurti šio failo atsarginę kopiją?"
  Ans = MsgBox(Msg, vbYesNo)
  Jei Ans = vbTaip Tada
    FName = "F:\BACKUP\" & ThisWorkbook.Name
    ThisWorkbook.SaveCopyAs FName
  Pabaiga, jei
Pabaigos sub

Ši rutina naudoja pranešimų laukelį, kad paklaustų vartotojo, ar jis norėtų sukurti atsarginę darbaknygės kopiją. Jei atsakymas yra teigiamas, kodas naudoja SaveCopyAs metodą, kad išsaugotų atsarginę failo kopiją F diske. Jei pritaikysite šią procedūrą savo reikmėms, turėsite pakeisti diską ir kelią.

„Excel“ programuotojai dažnai naudoja procedūrą „Workbook_BeforeClose“, kad susitvarkytų. Pavyzdžiui, jei naudojate procedūrą Workbook_Open norėdami pakeisti kai kuriuos nustatymus atidarydami darbaknygę (pavyzdžiui, paslėpdami būsenos juostą), tikslinga tik tada, kai uždarote darbaknygę, grąžinsite nustatymus į pradinę būseną. Šią elektroninę namų tvarkymą galite atlikti naudodami procedūrą Workbook_BeforeClose.

Kai naudojate įvykį Workbook_BeforeClose, atminkite tai: jei uždarote „Excel“ ir bet kuris atidarytas failas buvo pakeistas po paskutinio išsaugojimo, „Excel“ rodo įprastą pranešimo laukelį „Ar norite išsaugoti pakeitimus“. Spustelėjus mygtuką Atšaukti atšaukiamas visas uždarymo procesas. Tačiau įvykis Workbook_BeforeClose vis tiek bus įvykdytas.

Excel VBA pavyzdys: darbaknygės įvykis BeforeSave

Įvykis BeforeSave, kaip rodo jo pavadinimas, suaktyvinamas prieš išsaugant darbaknygę. Šis įvykis įvyksta, kai pasirenkate Failas → Įrašyti arba Failas → Įrašyti kaip.

Ši procedūra, kuri patalpinama į „ ThisWorkbook“ objekto kodo langą , parodo įvykį BeforeSave. Įprasta atnaujina langelio reikšmę (ląstelė A1 lape 1) kiekvieną kartą, kai išsaugoma darbaknygė. Kitaip tariant, langelis A1 tarnauja kaip skaitiklis, leidžiantis sekti, kiek kartų failas buvo išsaugotas.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _
  Kaip Būlis, Atšaukti Kaip Būlis)
  Pritemdytas skaitiklis kaip diapazonas
  Nustatyti skaitiklį = lapeliai ("1 lapas"). Diapazonas ("A1")
  Counter.Value = Counter.Value + 1
Pabaigos sub

Atkreipkite dėmesį, kad procedūra Workbook_BeforeSave turi du argumentus: SaveAsUI ir Cancel. Norėdami parodyti, kaip šie argumentai veikia, išnagrinėkite šią makrokomandą, kuri vykdoma prieš išsaugant darbaknygę. Šia procedūra bandoma neleisti vartotojui įrašyti darbaknygės kitu pavadinimu. Jei vartotojas pasirenka Failas → Įrašyti kaip, argumentas SaveAsUI yra teisingas.

Kai kodas vykdomas, jis patikrina SaveAsUI reikšmę. Jei šis kintamasis yra True, procedūra rodo pranešimą ir nustato Atšaukti į True, o tai atšaukia išsaugojimo operaciją.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _
  Kaip Būlis, Atšaukti Kaip Būlis)
  Jei SaveAsUI Tada
    MsgBox "Negalite išsaugoti šios darbaknygės kopijos!"
  Atšaukti = Tiesa
  Pabaiga, jei
Pabaigos sub

Atminkite, kad ši procedūra tikrai netrukdys niekam išsaugoti kopijos kitu pavadinimu. Jei kas nors tikrai nori tai padaryti, jis arba ji gali tiesiog atidaryti darbaknygę su išjungtomis makrokomandomis. Kai makrokomandos yra išjungtos, įvykių tvarkyklės procedūros taip pat išjungiamos, o tai logiška, nes tai yra makrokomandos.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]