Excel VBA -esimerkkejä: Esimerkkejä esittelytapahtumista

Jos yrität saada hyvän käsityksen Excel VBA:sta , saatat hyötyä muutamasta esimerkistä visuaalisen peruskyvyn kehittämiseksi. Täältä löydät muutamia Excel VBA -esimerkkejä, jotta pääset perehtymään tähän tapahtumien käsittelyyn.

Excel VBA -esimerkki: Avaa työkirjan tapahtuma

Yksi yleisimmin käytetyistä Excel VBA -tapahtumista on Workbook Open -tapahtuma. Oletetaan, että sinulla on työkirja, jota käytät joka päivä. Tässä esimerkissä Workbook_Open-toiminto suoritetaan aina, kun työkirja avataan. Toimenpide tarkistaa viikonpäivän; jos on perjantai, koodi näyttää sinulle muistutusviestin.

Voit luoda Excel VBA -proseduurin, joka suoritetaan aina, kun Työkirja Open -tapahtuma tapahtuu, seuraavasti:

Avaa Excel-työkirja.
Mikä tahansa Excel-työkirja käy.

Aktivoi VBE painamalla Alt+F11.

Etsi työkirja Projekti-ikkunasta.

Kaksoisnapsauta projektin nimeä nähdäksesi sen kohteet tarvittaessa.

Kaksoisnapsauta ThisWorkbook-kohdetta.
VBE näyttää tyhjän Code-ikkunan ThisWorkbook-objektille.

Valitse Koodi-ikkunan avattavasta Objekti (vasemmalla) -luettelosta Työkirja.
VBE syöttää Workbook_Open-proseduurin alku- ja loppulausekkeet.

Syötä seuraavat lausunnot, jotta tapahtuman koko menettely näyttää tältä:

Yksityinen alatyökirja_Open()
  Dim Msg As String
  Jos arkipäivä (nyt) = 6 Sitten
    Msg = "Tänään on perjantai. Älä unohda"
    Msg = Viesti & "lähetä TPS-raportti!"
    Viestilaatikko Viesti
  Loppu Jos
Lopeta ala

Koodi-ikkunan pitäisi näyttää tältä.

Excel VBA -esimerkkejä: Esimerkkejä esittelytapahtumista

Tämä tapahtumakäsittelijätoiminto suoritetaan, kun työkirja avataan.

Workbook_Open suoritetaan automaattisesti aina, kun työkirja avataan. Se käyttää VBA:n WeekDay-toimintoa määrittääkseen viikonpäivän. Jos on perjantai (päivä 6), viestilaatikko muistuttaa käyttäjää raportoimaan. Jos ei ole perjantai, mitään ei tapahdu.

Jos tänään ei ole perjantai, tämän menettelyn testaaminen voi olla vaikeaa. Voit vain muuttaa numeron 6 vastaamaan tämän päivän todellista päivänumeroa.

Ja tietysti voit muokata tätä menettelyä haluamallasi tavalla. Esimerkiksi seuraava versio näyttää viestin aina, kun työkirja avataan. Tämä alkaa ärsyttää hetken kuluttua.

Workbook_Open-proseduurilla voidaan tehdä melkein mitä tahansa. Näitä tapahtumakäsittelijöitä käytetään usein seuraaviin:

  • Tervetuloviestien näyttäminen (kuten Frankin hienossa työkirjassa)
  • Muiden työkirjojen avaaminen
  • Tietyn laskentataulukon aktivointi työkirjassa
  • Mukautettujen pikavalikoiden määrittäminen

Tässä on viimeinen Excel VBA -esimerkki Workbook_Open-menettelystä, joka käyttää GetSetting- ja SaveSetting-toimintoja seuratakseen, kuinka monta kertaa työkirja on avattu. SaveSetting-toiminto kirjoittaa arvon Windowsin rekisteriin, ja GetSetting-toiminto noutaa sen (katso lisätietoja ohjejärjestelmästä). Seuraava Excel VBA -esimerkki noutaa määrän rekisteristä, lisää sitä ja tallentaa sen sitten takaisin rekisteriin. Se myös kertoo käyttäjälle Cnt:n arvon, joka vastaa sitä, kuinka monta kertaa työkirja on avattu.

Yksityinen alatyökirja_Open()
  Dim Cnt As Long
  Cnt = GetSetting("OmaApp", "Asetukset", "Avaa", 0)
  Cnt = Cnt + 1
  SaveSetting "MyApp", "Settings", "Open", Cnt
  MsgBox "Tämä työkirja on avattu " & Cnt & " kertaa."
Lopeta ala

Excel VBA -esimerkkejä: Esimerkkejä esittelytapahtumista

Workbook_Open-tapahtumakäsittelijän avulla voit seurata, kuinka monta kertaa työkirja on avattu.

Excel VBA -esimerkki: EnnenClose-tapahtuma työkirjalle

Tässä on esimerkki Excel VBA Workbook_BeforeClose -tapahtumankäsittelyproseduurista, joka suoritetaan automaattisesti välittömästi ennen työkirjan sulkemista. Tämä toimenpide sijaitsee ThisWorkbook-objektin Koodi-ikkunassa:

Yksityinen alatyökirja_BeforeClose(Peruuta Boolean)
  Dim Msg As String
  Dim Ans As Long
  Himmeä FName merkkijonona
  Msg = "Haluatko tehdä varmuuskopion tästä tiedostosta?"
  Ans = ViestiBox(Viesti, vbYesNo)
  Jos Ans = vbYes Sitten
    FName = "F:\BACKUP\" & ThisWorkbook.Name
    ThisWorkbook.SaveCopyAs FName
  Loppu Jos
Lopeta ala

Tämä rutiini käyttää viestiruutua kysyäkseen käyttäjältä, haluaako hän tehdä varmuuskopion työkirjasta. Jos vastaus on kyllä, koodi käyttää SaveCopyAs-menetelmää tiedoston varmuuskopion tallentamiseen asemaan F. Jos mukautat tämän menettelyn omaan käyttöösi, sinun on vaihdettava asemaa ja polkua.

Excel-ohjelmoijat käyttävät usein Workbook_BeforeClose-menettelyä siivotakseen itsensä. Jos esimerkiksi käytät Workbook_Open-menettelyä muuttaaksesi joitain asetuksia, kun avaat työkirjan (piilottamalla esimerkiksi tilapalkin), on tarkoituksenmukaista, että palautat asetukset alkuperäiseen tilaansa, kun suljet työkirjan. Voit suorittaa tämän sähköisen taloudenpidon Workbook_BeforeClose-menettelyllä.

Kun käytät Workbook_BeforeClose-tapahtumaa, muista tämä: Jos suljet Excelin ja mitä tahansa avoinna olevaa tiedostoa on muutettu edellisen tallennuksen jälkeen, Excel näyttää tavallisen "Haluatko tallentaa muutokset" -viestiruudun. Peruuta-painikkeen napsauttaminen peruuttaa koko sulkemisprosessin. Mutta Workbook_BeforeClose-tapahtuma on suoritettu joka tapauksessa.

Excel VBA -esimerkki: EnnenSave-tapahtuma työkirjalle

BeforeSave-tapahtuma käynnistyy, kuten sen nimi kertoo, ennen kuin työkirja tallennetaan. Tämä tapahtuma tapahtuu, kun valitset Tiedosto → Tallenna tai Tiedosto → Tallenna nimellä.

Seuraava menettely, joka sijoitetaan ThisWorkbook-objektin Code-ikkunaan , esittelee BeforeSave-tapahtuman. Rutiini päivittää solun arvon (Set11:n solu A1) aina, kun työkirja tallennetaan. Toisin sanoen solu A1 toimii laskurina, joka seuraa tiedoston tallennuskertojen määrää.

Yksityinen alatyökirja_BeforeSave(ByVal SaveAsUI _
  Totuusarvoisena, Peruuta Boolena)
  Dim Counter As Range
  Aseta laskuri = Sheets("Sheet1").Alue("A1")
  Laskuri.Arvo = Counter.Value + 1
Lopeta ala

Huomaa, että Workbook_BeforeSave-proseduurilla on kaksi argumenttia: SaveAsUI ja Cancel. Osoittaaksesi, kuinka nämä argumentit toimivat, tutki seuraavaa makroa, joka suoritetaan ennen työkirjan tallentamista. Tämä toimenpide yrittää estää käyttäjää tallentamasta työkirjaa eri nimellä. Jos käyttäjä valitsee Tiedosto → Tallenna nimellä, SaveAsUI-argumentti on True.

Kun koodi suoritetaan, se tarkistaa SaveAsUI-arvon. Jos tämä muuttuja on True, toimenpide näyttää viestin ja määrittää Peruuta arvoon True, mikä peruuttaa tallennustoiminnon.

Yksityinen alatyökirja_BeforeSave(ByVal SaveAsUI _
  Totuusarvoisena, Peruuta Boolena)
  Jos SaveAsUI sitten
    MsgBox "Et voi tallentaa kopiota tästä työkirjasta!"
  Peruuta = Totta
  Loppu Jos
Lopeta ala

Huomaa, että tämä toimenpide ei todellakaan estä ketään tallentamasta kopiota eri nimellä. Jos joku todella haluaa tehdä sen, hän voi vain avata työkirjan makrojen ollessa pois käytöstä. Kun makrot on poistettu käytöstä, myös tapahtumakäsittelijän toiminnot poistetaan käytöstä, mikä on järkevää, koska ne ovat loppujen lopuksi makroja.


Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa Microsoft Word avaa tiedostot vain luku -tilassa, jolloin niiden muokkaaminen on mahdotonta? Älä huoli, menetelmät ovat alla

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Virheiden korjaaminen virheellisten Microsoft Word -asiakirjojen tulostuksessa. Virheet tulostettaessa Word-asiakirjoja, joissa on muuttuneet fontit, sotkuiset kappaleet, puuttuva teksti tai kadonnut sisältö ovat melko yleisiä. Älä kuitenkaan

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Jos olet piirtänyt PowerPoint-dioihin esityksen aikana kynää tai korostuskynää, voit tallentaa piirustukset seuraavaa esitystä varten tai poistaa ne, jotta seuraavan kerran näytät ne. Aloitat puhtailla PowerPoint-dioilla. Pyyhi kynä- ja korostuskynäpiirrokset noudattamalla näitä ohjeita: Pyyhi rivit yksi kerrallaan […]

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjasto sisältää CSS-tiedostoja, Extensible Stylesheet Language (XSL) -tiedostoja ja kuvia, joita käyttävät ennalta määritetyt sivupohjat, sivuasettelut ja säätimet SharePoint 2010:ssä. CSS-tiedostojen etsiminen julkaisusivuston tyylikirjastosta: Valitse Sivuston toiminnot→ Näytä Kaikki sivuston sisältö. Sivuston sisältö tulee näkyviin. Style-kirjasto sijaitsee […]

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Älä hukuta yleisöäsi jättimäisillä numeroilla. Microsoft Excelissä voit parantaa koontinäyttöjesi ja raporttiesi luettavuutta muotoilemalla numerot näyttämään tuhansia tai miljoonia.

SharePoint-sivustojen jakaminen ja seuraaminen

SharePoint-sivustojen jakaminen ja seuraaminen

Opi käyttämään SharePointin sosiaalisen verkostoitumisen työkaluja, joiden avulla yksilöt ja ryhmät voivat kommunikoida, tehdä yhteistyötä, jakaa ja pitää yhteyttä.

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Juliaanisia päivämääriä käytetään usein valmistusympäristöissä aikaleimana ja pikaviitteenä eränumerolle. Tämän tyyppisen päivämääräkoodauksen avulla jälleenmyyjät, kuluttajat ja huoltoedustajat voivat tunnistaa tuotteen valmistusajankohdan ja siten tuotteen iän. Julian-päivämääriä käytetään myös ohjelmoinnissa, armeijassa ja tähtitiedessä. Erilainen […]

Access-verkkosovelluksen luominen

Access-verkkosovelluksen luominen

Voit luoda verkkosovelluksen Access 2016:ssa. Mikä verkkosovellus sitten on? No, verkko tarkoittaa, että se on verkossa, ja sovellus on vain lyhenne sanoista "sovellus". Mukautettu verkkosovellus on online-tietokantasovellus, jota käytetään pilvestä selaimen avulla. Rakennat ja ylläpidät verkkosovellusta työpöytäversiossa […]

Pikakäynnistyspalkki SharePoint 2010:ssä

Pikakäynnistyspalkki SharePoint 2010:ssä

Useimmat SharePoint 2010:n sivut näyttävät navigointilinkkien luettelon pikakäynnistyspalkissa sivun vasemmassa reunassa. Pikakäynnistyspalkki näyttää linkit esitellyn sivuston sisältöön, kuten luetteloihin, kirjastoihin, sivustoihin ja julkaisusivuihin. Pikakäynnistyspalkki sisältää kaksi erittäin tärkeää linkkiä: Koko sivuston sisältö -linkki: […]

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Yksinkertaisille ongelmille Excelin Ratkaisija löytää yleensä nopeasti optimaaliset Ratkaisijamuuttujien arvot tavoitefunktiolle. Mutta joissakin tapauksissa Ratkaisijalla on vaikeuksia löytää Solver-muuttujan arvoja, jotka optimoivat tavoitefunktion. Näissä tapauksissa Ratkaisija näyttää yleensä viestin tai virheilmoituksen, joka kuvaa tai käsittelee ongelmaa, jonka […]