Primjeri Excel VBA: Uvodni primjeri događaja

Ako pokušavate dobro shvatiti Excel VBA , vjerojatno bi vam moglo koristiti nekoliko primjera kako biste razvili to vizualno osnovno umijeće. Ovdje ćete pronaći nekoliko primjera Excel VBA kako biste se mogli upoznati s ovim poslom upravljanja događajima.

Primjer Excel VBA: događaj Open za radnu knjigu

Jedan od najčešće korištenih Excel VBA događaja je događaj Otvaranje radne knjige. Pretpostavimo da imate radnu bilježnicu koju koristite svaki dan. Procedura Workbook_Open u ovom primjeru se izvršava svaki put kada se radna knjiga otvori. Postupak provjerava dan u tjednu; ako je petak, kod prikazuje poruku podsjetnika za vas.

Da biste stvorili Excel VBA proceduru koja se izvršava svaki put kad se dogodi događaj otvaranja radne knjige, slijedite ove korake:

Otvorite radnu knjigu programa Excel.
Bilo koja Excel radna knjiga će dobro doći.

Pritisnite Alt+F11 da aktivirate VBE.

Pronađite radnu knjigu u prozoru projekta.

Dvokliknite naziv projekta za prikaz njegovih stavki, ako je potrebno.

Dvaput kliknite na stavku ThisWorkbook.
VBE prikazuje prazan prozor koda za objekt ThisWorkbook.

U prozoru koda odaberite Radna knjiga s padajućeg popisa Objekt (lijevo).
VBE unosi početne i završne izraze za Workbook_Open proceduru.

Unesite sljedeće izjave, tako da kompletna procedura događaja izgleda ovako:

Privatna pod radna knjiga_Open()
  Priguši poruku kao niz
  Ako je dan u tjednu (sada) = 6 Onda
    Msg = "Danas je petak. Ne zaboravite "
    Poruka = ​​Poruka & "pošalji TPS izvješće!"
    MsgBox Msg
  Završi ako
Kraj Sub

Prozor koda trebao bi izgledati ovako.

Primjeri Excel VBA: Uvodni primjeri događaja

Ovaj postupak rukovanja događajima se izvršava kada se otvori radna knjiga.

Workbook_Open se izvršava automatski svaki put kada se radna knjiga otvori. Koristi VBA-ovu funkciju WeekDay za određivanje dana u tjednu. Ako je petak (6. dan), okvir s porukom podsjeća korisnika da podnese izvješće. Ako nije petak, ništa se neće dogoditi.

Ako danas nije petak, možda ćete imati poteškoća s testiranjem ovog postupka. Možete samo promijeniti 6 tako da odgovara današnjem stvarnom broju dana.

I naravno, ovaj postupak možete modificirati kako god želite. Na primjer, sljedeća verzija prikazuje poruku svaki put kada se radna knjiga otvori. Ovo postaje neugodno nakon nekog vremena.

Procedura Workbook_Open može učiniti gotovo sve. Ovi se obrađivači događaja često koriste za sljedeće:

  • Prikaz poruka dobrodošlice (kao što je u Frankovoj cool radnoj knjizi)
  • Otvaranje drugih radnih bilježnica
  • Aktiviranje određenog radnog lista u radnoj knjizi
  • Postavljanje prilagođenih izbornika prečaca

Evo konačnog Excel VBA primjera Workbook_Open procedure koja koristi funkcije GetSetting i SaveSetting za praćenje koliko je puta radna knjiga otvorena. Funkcija SaveSetting upisuje vrijednost u registar sustava Windows, a funkcija GetSetting dohvaća tu vrijednost (pogledajte sustav pomoći za detalje). Sljedeći Excel VBA primjer dohvaća broj iz registra, povećava ga i zatim sprema natrag u registar. Također govori korisniku vrijednost Cnt koja odgovara broju otvaranja radne knjige.

Privatna pod radna knjiga_Open()
  Dim Cnt As Long
  Cnt = GetSetting("MyApp", "Postavke", "Otvoreno", 0)
  Cnt = Cnt + 1
  SaveSetting "MyApp", "Settings", "Open", Cnt
  MsgBox "Ova radna knjiga je otvarana " & Cnt & " puta."
Kraj Sub

Primjeri Excel VBA: Uvodni primjeri događaja

Korištenje rukovatelja događaja Workbook_Open za praćenje koliko je puta radna knjiga otvorena.

Primjer Excel VBA: događaj BeforeClose za radnu knjigu

Evo primjera procedure rukovanja događajima Excel VBA Workbook_BeforeClose, koja se izvršava automatski neposredno prije zatvaranja radne knjige. Ovaj se postupak nalazi u prozoru Code za objekt ThisWorkbook:

Privatna pod Radna knjiga_Prije zatvaranja(Odustani kao Boolean)
  Priguši poruku kao niz
  Dim Ans As Long
  Dim FName kao niz
  Msg = "Želite li napraviti sigurnosnu kopiju ove datoteke?"
  Ans = MsgBox(Msg, vbYesNo)
  Ako je Ans = vbYes Onda
    FName = "F:\BACKUP\" & ThisWorkbook.Name
    Ova radna knjiga.SaveCopyAs FName
  Završi ako
Kraj Sub

Ova rutina koristi okvir s porukom da pita korisnika želi li napraviti sigurnosnu kopiju radne knjige. Ako je odgovor potvrdan, kod koristi metodu SaveCopyAs za spremanje sigurnosne kopije datoteke na pogon F. Ako ovaj postupak prilagodite za vlastitu upotrebu, morate promijeniti pogon i put.

Programeri programa Excel često koriste proceduru Workbook_BeforeClose za čišćenje za sobom. Na primjer, ako koristite proceduru Workbook_Open za promjenu nekih postavki kada otvorite radnu knjigu (na primjer, skrivanje statusne trake), jedino je prikladno da vratite postavke u njihovo izvorno stanje kada zatvorite radnu knjigu. Ovo elektroničko održavanje kućanstva možete izvesti postupkom Workbook_BeforeClose.

Kada koristite događaj Workbook_BeforeClose, imajte ovo na umu: Ako zatvorite Excel i bilo koja otvorena datoteka je promijenjena od posljednjeg spremanja, Excel prikazuje uobičajeni okvir s porukom "Želite li spremiti svoje promjene". Klikom na gumb Odustani poništava se cijeli proces zatvaranja. Ali događaj Workbook_BeforeClose će se ipak izvršiti.

Primjer Excel VBA: događaj Prije spremanja za radnu knjigu

Događaj BeforeSave, kao što mu naziv implicira, pokreće se prije spremanja radne knjige. Ovaj događaj se događa kada odaberete Datoteka → Spremi ili Datoteka → Spremi kao.

Sljedeći postupak, koji se nalazi u prozoru Code za objekt ThisWorkbook, pokazuje događaj BeforeSave. Rutina ažurira vrijednost u ćeliji (ćelija A1 na Sheet1) svaki put kada se radna knjiga sprema. Drugim riječima, ćelija A1 služi kao brojač za praćenje koliko je puta datoteka spremljena.

Privatna pod radna knjiga_prije spremanja(ByVal SaveAsUI _
  Kao Boolean, Otkaži kao Boolean)
  Dim Counter As Range
  Postavi brojač = listovi("Sheet1").Raspon("A1")
  Counter.Value = Counter.Value + 1
Kraj Sub

Primijetite da procedura Workbook_BeforeSave ima dva argumenta: SaveAsUI i Cancel. Da biste pokazali kako ti argumenti funkcioniraju, ispitajte sljedeću makronaredbu koja se izvršava prije spremanja radne knjige. Ovaj postupak pokušava spriječiti korisnika da spremi radnu knjigu s drugim imenom. Ako korisnik odabere Datoteka → Spremi kao, argument SaveAsUI je True.

Kada se kod izvrši, provjerava vrijednost SaveAsUI. Ako je ova varijabla True, procedura prikazuje poruku i postavlja Cancel na True, što poništava operaciju spremanja.

Privatna pod radna knjiga_prije spremanja(ByVal SaveAsUI _
  Kao Boolean, Otkaži kao Boolean)
  Ako SaveAsUI Onda
    MsgBox "Ne možete spremiti kopiju ove radne knjige!"
  Odustani = Istina
  Završi ako
Kraj Sub

Imajte na umu da ovaj postupak neće spriječiti nikoga da spremi kopiju s drugim imenom. Ako netko to stvarno želi učiniti, može jednostavno otvoriti radnu knjigu s onemogućenim makronaredbama. Kada su makronaredbe onemogućene, onemogućavaju se i procedure rukovanja događajima, što ima smisla jer su ipak makronaredbe.

Leave a Comment

Kako postaviti upit u bazu podataka MS Access 2019

Kako postaviti upit u bazu podataka MS Access 2019

Naučite kako postaviti upite u Access bazi podataka uz jednostavne korake i savjete za učinkovito filtriranje i sortiranje podataka.

Osnove tabulatora u programu Word 2013

Osnove tabulatora u programu Word 2013

Tabulatori su oznake položaja u odlomku programa Word 2013 koje određuju kamo će se točka umetanja pomaknuti kada pritisnete tipku Tab. Otkrijte kako prilagoditi tabulatore i optimizirati svoj rad u Wordu.

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Word 2010 nudi mnoge načine označavanja i poništavanja odabira teksta. Otkrijte kako koristiti tipkovnicu i miš za odabir blokova. Učinite svoj rad učinkovitijim!

Kako uvući pasus u Wordu 2013

Kako uvući pasus u Wordu 2013

Naučite kako pravilno postaviti uvlaku za odlomak u Wordu 2013 kako biste poboljšali izgled svog dokumenta.

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Naučite kako jednostavno otvoriti i zatvoriti svoje Microsoft PowerPoint 2019 prezentacije s našim detaljnim vodičem. Pronađite korisne savjete i trikove!

Kako crtati jednostavne objekte u PowerPointu 2013

Kako crtati jednostavne objekte u PowerPointu 2013

Saznajte kako crtati jednostavne objekte u PowerPoint 2013 uz ove korisne upute. Uključuje crtanje linija, pravokutnika, krugova i više.

Kako filtrirati podatke u programu Access 2016

Kako filtrirati podatke u programu Access 2016

U ovom vodiču vam pokazujemo kako koristiti alat za filtriranje u programu Access 2016 kako biste lako prikazali zapise koji dijele zajedničke vrijednosti. Saznajte više o filtriranju podataka.

Formule za zaokruživanje brojeva u Excelu

Formule za zaokruživanje brojeva u Excelu

Saznajte kako koristiti Excelove funkcije zaokruživanja za prikaz čistih, okruglih brojeva, što može poboljšati čitljivost vaših izvješća.

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Zaglavlje ili podnožje koje postavite isto je za svaku stranicu u vašem Word 2013 dokumentu. Otkrijte kako koristiti različita zaglavlja za parne i neparne stranice.

Excel izvješća: prilagođeno oblikovanje brojeva

Excel izvješća: prilagođeno oblikovanje brojeva

Poboljšajte čitljivost svojih Excel izvješća koristeći prilagođeno oblikovanje brojeva. U ovom članku naučite kako se to radi i koja su najbolja rješenja.