Sovellustason tapahtumat toimivat koko sovelluksessa (Excel tässä viitteessä). Sovellustapahtuman aktivointi ei kuitenkaan ole niin helppoa kuin työkirjan tai laskentataulukon tapahtumien luominen. Mutta vakuutan teille, että se ei ole niin vaikeaa. Tässä artikkelissa opimme luomaan ja käyttämään sovellustapahtumaa Excel VBA: ssa muutamalla helpolla vaiheella.
Vaihe 1: Luo tapahtumaobjekti luokkamoduulissa
Tapahtumaobjektin luomiseksi meidän on käytettävä luokkamoduulia.
- Aseta luokka moduuli. Nimeä se haluamallasi tavalla. Nimesin sen MyAppEvents.
- Määritä sovellustyyppinen tapahtumamuuttuja avainsanalla WithEvents.
Yksityinen kanssa Tapahtumat myApp sovelluksena
- Alusta tämä tapahtuma aliohjelmassa class_initialize ().
Valitse luokka vasemmalla olevasta avattavasta valikosta. Valitse sitten avattavasta oikeasta yläkulmasta alustus.Private Sub Class_Initialize () Aseta myApp = Application End Sub
- Määritä nyt tapahtumat, joita haluat käyttää. Valitse tapahtumaobjekti vasemman yläkulman avattavasta valikosta. Kaikki käytettävissä olevat tapahtumakäsittelytoimenpiteet ovat käytettävissäsi oikeassa yläkulmassa olevassa avattavassa valikossa. Valitse haluamasi ja määritä, mitä haluat tehdä, kun tapahtuma käynnistyy.
Käytän SheetActivate -tapahtumaa. Aina kun käyttäjä vaihtaa avoimen työkirjan arkkien välillä, siinä näkyy työkirjan nimi ja taulukon käyttäjä.Yksityinen osa MyApp_SheetActivate (ByVal Sh as Object) MsgBox ActiveWorkbook.Name & "-" & Sh.Name End Sub
Täällä voit määrittää niin monta tapahtumaa kuin haluat.
Tapahtumat eivät käynnisty heti. Tämä oli ensimmäinen askel. Koska se on luokkamoduuli, meidän on luotava siitä objekti tapahtumien aktivoimiseksi.
Nyt meidän on vain aloitettava nämä tapahtumat normaalista aliohjelmasta.
Vaihe 2: Luo tapahtuman aloitusaliohjelma normaalimoduulissa
Nyt meillä on tapahtumatunti. Meidän on vain luotava kyseisen luokan objekti ja alustettava se. Kun olemme suorittaneet tämän aliohjelman, kaikki tapahtumaluokan määritetyt tapahtumat alkavat toimia.
- Aseta tavallinen moduuli paikalleen.
- Määritä luomasi luokan muuttuja.
Yksityinen AppE MyAppEvents
- Alusta se aliohjelmassa. Voit nimetä sen haluamallasi tavalla.
Private Sub StartEvents () Aseta AppE = New MyAppEvents End Sub
- Suorita tämä koodi F5 -näppäimellä. Voit halutessasi määrittää tämän makron laskentataulukon painikkeelle, jos haluat aloittaa tapahtumat laskentataulukosta.
Ja se on tehty. Nyt kun vaihdat arkkeja, näkyviin tulee viestikenttä työkirjan ja taulukon nimen kanssa, kunhan työkirjan sisältävä koodi on auki.
Oliko rankkaa? En usko. Kerro minulle mielipiteesi alla olevasta kommenttiosasta.
VBA -sovellustapahtumien kytkeminen päälle ja pois
Kun olet suorittanut makron normaalimoduulissa, se käynnistyy aina, kunnes suljet tapahtumat sisältävän työkirjan. Voit kuitenkin halutessasi kytkeä ne päälle ja pois päältä haluamallasi tavalla. Voit tehdä tämän kahdella tavalla.
- Tyhjennä tapahtumaobjekti
- Aseta EnableEvents arvoksi False
1. Tapahtumaobjektin mitätöiminen
Aseta erillisessä aliohjelmassa tapahtumaobjektiksi Ei mitään
Private Sub StopEvents () Aseta AppE = Nothing End Sub
Kun suoritat tämän koodin, tapahtumat lakkaavat toimimasta. Voit laittaa sen laskentataulukon painikkeeseen pysäyttääksesi tapahtumat. Nyt sinulla on kaksi painiketta näiden tapahtumien aloittamiseen ja lopettamiseen. Se vain pysäyttää AppE -objektin luomat tapahtumat.
2. Aseta EnableEvents -arvoksi False
Toinen tapa on poistaa tapahtumat käytöstä. Jotta kaikki tapahtumat olisivat sietämättömiä, asetimme sovellusluokan EnableEvents -ominaisuuden arvoksi Väärä.
Yksityinen osa StopEvents () Application.EnableEvents = False End Sub
Yllä oleva koodi poistaa kaikki tapahtumat käytöstä. Edes Excel -tapahtumat. Ne eivät toimi, ennen kuin aloitat ne uudelleen. Vaikka suoritat StartEvents () -aliohjelman (yllä), tapahtuma ei toimi. Jotta kaikki tapahtumat toimisivat uudelleen, sinun on asetettava EnableEvents -ominaisuuden arvoksi uudelleen True.
Joten jos haluat tapahtumiesi toimivan joka kerta, kun aloitat tapahtumat, lisää tämä koodirivi alaosaan.
Private Sub StartEvents () Application.EnableEvents = True Set AppE = New MyAppEvents End Sub
Custome -sovellustapahtumien käynnistäminen aina, kun työkirja avataan
Jos kehität työkalua loppukäyttäjälle, saatat haluta tapahtumien toimivan automaattisesti. Siinä tapauksessa voit laittaa tapahtuman käynnistimen Workbook_open () -tapahtuman työkirjaobjektiin normaalimoduulin sijaan. Tapahtumaobjekti alustetaan heti, kun avaat tapahtumat sisältävän työkirjan.
Joten kyllä kaverit, näin voit käyttää sovellustapahtumaa Excelissä. Kerro minulle, jos tämä oli tarpeeksi selittävä ja auttoi sinua ymmärtämään sovellustason tapahtumia Excel VBA: ssa alla olevissa kommenttien osassa. Jos sinulla on jotain lisättävää tähän, kirjoita se myös. Voit kysyä tähän artikkeliin tai muihin Excel VBA -aiheisiin liittyvistä kysymyksistäsi alla olevissa kommenttiosioissa.
Lataa alla oleva työtiedosto:
Tapahtumat Excel VBA: ssa | Excelissä on seitsemän tyyppisiä tapahtumia. Jokainen tapahtuma koskee eri ulottuvuuksia. Sovellustapahtuma käsittelee työkirjatasolla. Työkirja arkitasolla. Laskentataulukon tapahtuma alueen tasolla.
Laskentataulukon tapahtumat Excel VBA: ssa| Laskentataulukkotapahtuma on todella hyödyllinen, kun haluat makrojesi suoritettavan, kun taulukossa tapahtuu tietty tapahtuma.
Työkirjan tapahtumat VBA: n avulla Microsoft Excelissä | Työkirjan tapahtumat koskevat koko työkirjaa. Koska kaikki taulukot ovat osa työkirjaa, nämä tapahtumat toimivat myös niissä.
Estä automacron/eventmacron suorittaminen käyttämällä VBA: ta Microsoft Excelissä| Voit estää auto_open -makron käytön vaihtonäppäimellä.
Kaavioobjektitapahtumat VBA: n avulla Microsoft Excelissä| Kaaviot ovat monimutkaisia objekteja, ja niihin on liitetty useita komponentteja. Kaaviotapahtumien tekemiseen käytämme Luokka -moduulia.
Suosittuja artikkeleita:
50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä nopeuttavat työtäsi Excelissä.
VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.
COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.
SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.