OnTime-tapahtumien ja näppäinpainallusten käyttäminen Excel 2016 VBA:ssa

Voit käyttää Excel 2016:n VBA-ohjelmoinnissa kahdentyyppisiä tapahtumia, jotka eivät liity objekteihin: aika ja näppäinpainallukset. Koska aika ja näppäinpainallukset eivät liity tiettyyn objektiin, kuten työkirjaan tai laskentataulukkoon, ohjelmoit nämä tapahtumat tavalliseen VBA-moduuliin.

OnTime-tapahtuma

OnTime-tapahtuma tapahtuu, kun tietty aika vuorokaudesta tapahtuu. Seuraava esimerkki osoittaa, kuinka Excel saadaan suorittamaan toiminto, kun kello 15.00 -tapahtuma tapahtuu. Tässä tapauksessa robottiääni käskee herätä viestilaatikon mukana:

Sub SetAlarm()
  Application.OnTime 0.625, "DisplayAlarm"
Lopeta ala
Sub DisplayAlarm()
  Application.Speech.Speak ("Hei, herää")
  MsgBox "On aika iltapäivätauolle!"
Lopeta ala

Tässä esimerkissä käytetään Application-objektin OnTime-metodia. Tämä menetelmä käyttää kahta argumenttia: aika (0,625 tai 15:00) ja aikatapahtuman sattuessa suoritettavan aliproseduurin nimi (DisplayAlarm).

Tämä menettely on varsin hyödyllinen, jos olet taipuvainen töihin niin paljon, että unohdat kokoukset ja tapaamiset. Aseta vain OnTime-tapahtuma muistuttamaan itseäsi.

Useimpien ihmisten on vaikea ajatella aikaa Excel-numerojärjestelmässä. Siksi saatat haluta käyttää VBA TimeValue -funktiota ajan esittämiseen. TimeValue muuntaa ajalta näyttävän merkkijonon arvoksi, jota Excel pystyy käsittelemään. Seuraava lause näyttää helpomman tavan ohjelmoida tapahtuma klo 15:00:

Application.OnTime TimeValue("15:00:00"), "DisplayAlarm"

Jos haluat ajoittaa tapahtuman suhteessa nykyiseen aikaan (esimerkiksi 20 minuutin kuluttua), voit käyttää seuraavaa lausetta:

Application.OnTime Now + TimeValue("00:20:00"), "DisplayAlarm"

Voit myös käyttää OnTime-menetelmää VBA-menettelyn suorittamiseen tiettynä päivänä. Sinun on varmistettava, että tietokoneesi pysyy käynnissä ja että työkirja, jossa on toimenpide, pidetään auki. Seuraava lausunto suorittaa DisplayAlarm-menettelyn klo 17.00 31. joulukuuta 2016:

Application.OnTime DateValue ("31.12.2016 17:00"), "DisplayAlarm"

Tämä koodirivi voi olla hyödyllinen varoittamaan sinua siitä, että sinun täytyy mennä kotiin ja valmistautua uudenvuodenaaton juhliin.

Tässä on toinen esimerkki, joka käyttää OnTime-tapahtumaa. UpdateClock-toimintojen suorittaminen kirjoittaa ajan soluun A1 ja ohjelmoi myös toisen tapahtuman viiden sekunnin kuluttua. Tämä tapahtuma suorittaa UpdateClock-menettelyn uudelleen. Nettovaikutus on, että solu A1 päivitetään nykyisellä ajalla viiden sekunnin välein. Pysäytä tapahtumat suorittamalla StopClock-toiminto (joka peruuttaa tapahtuman). Huomaa, että NextTick on moduulitason muuttuja, joka tallentaa seuraavan tapahtuman ajan.

Himmeä NextTick As Date
Sub UpdateClock()
Päivittää solun A1 nykyisen ajan
  ThisWorkbook.Sheets(1).Range(“A1”) = Aika
' Aseta seuraava tapahtuma viiden sekunnin kuluttua
  NextTick = Nyt + aikaarvo("00:00:05")
  Application.OnTime NextTick, "UpdateClock"
Lopeta ala
Sub StopClock()
' Peruuttaa OnTime-tapahtuman (pysäyttää kellon)
  Virheestä Jatka seuraavaksi
  Application.OnTime NextTick, “UpdateClock”, , False
Lopeta ala

OnTime-tapahtuma säilyy työkirjan sulkemisen jälkeenkin. Toisin sanoen, jos suljet työkirjan suorittamatta StopClock-toimintoa, työkirja avautuu uudelleen viiden sekunnin kuluttua (olettaen, että Excel on edelleen käynnissä). Voit estää tämän käyttämällä Workbook_BeforeClose-tapahtumamenettelyä, joka sisältää seuraavan käskyn:

Soita StopClock

OnTime-menetelmällä on kaksi lisäargumenttia. Jos aiot käyttää tätä menetelmää, katso täydelliset tiedot ohjejärjestelmästä.

Jos haluat nähdä melko monimutkaisen sovelluksen, tutustu tähän analogiseen kellosovellukseen. Kellotaulu on itse asiassa kaavio, ja kaavio päivitetään joka sekunti näyttämään kellonajan. Hyödytöntä, mutta hauskaa.

OnTime-tapahtumien ja näppäinpainallusten käyttäminen Excel 2016 VBA:ssa

Analoginen kellosovellus.

Näppäinpainallustapahtumat

Kun työskentelet, Excel tarkkailee jatkuvasti kirjoittamaasi. Tämän vuoksi voit määrittää asiat niin, että näppäinpainallus tai näppäinyhdistelmä suorittaa toimenpiteen.

Tässä on esimerkki, joka määrittää PgDn- ja PgUp-avaimet uudelleen:

Aliasetukset_OnKey()
  Application.OnKey "{PgDn}", "PgDn_Sub"
  Application.OnKey "{PgUp}", "PgUp_Sub"
Lopeta ala
Sub PgDn_Sub()
  Virheestä Jatka seuraavaksi
  ActiveCell.Offset(1, 0).Aktivoi
Lopeta ala
Sub PgUp_Sub()
  Virheestä Jatka seuraavaksi
  ActiveCell.Offset(-1, 0).Aktivoi
Lopeta ala

Kun OnKey-tapahtumat on määritetty suorittamalla Setup_OnKey-toiminto, PgDn-näppäimen painaminen siirtää sinut yhden rivin alaspäin. PgUp-painikkeen painaminen siirtää sinut yhden rivin ylöspäin.

Huomaa, että avainkoodit on suljettu aaltosulkeissa, ei suluissa. Täydellinen luettelo näppäimistökoodeista on ohjejärjestelmässä. Etsiä OnKey.

Tässä esimerkissä On Error Resume Next -toimintoa käytetään syntyneiden virheiden huomioimiseen. Esimerkiksi jos aktiivinen solu on ensimmäisellä rivillä, yrittäminen siirtyä riviä ylöspäin aiheuttaa virheen, joka voidaan turvallisesti jättää huomiotta. Ja jos kaaviotaulukko on aktiivinen, aktiivista solua ei ole.

Suorittamalla seuraavan rutiinin peruutat OnKey-tapahtumat:

Sub Cancel_OnKey()
  Application.OnKey “{PgDn}”
  Application.OnKey "{PgUp}"
Lopeta ala

Tyhjän merkkijonon käyttäminen OnKey-menetelmän toisena argumenttina ei peruuta OnKey-tapahtumaa. Sen sijaan se saa Excelin jättämään näppäinpainalluksen huomiotta. Esimerkiksi seuraava lauseke käskee Exceliä ohittamaan Alt+F4. Prosenttimerkki edustaa Alt-näppäintä:

  Application.OnKey "%{F4}", ""

Vaikka voit käyttää OnKey-menetelmää pikanäppäimen määrittämiseen makron suorittamista varten, sinun tulee käyttää makron asetukset -valintaikkunaa tähän tehtävään.

Jos suljet koodin sisältävän työkirjan ja jätät Excelin auki, OnKey-menetelmää ei nollata. Tämän seurauksena pikanäppäimen painaminen saa Excelin avaamaan makron sisältävän tiedoston automaattisesti. Jotta näin ei tapahdu, sinun tulee lisätä koodi Workbook_BeforeClose-tapahtumakoodiisi OnKey-tapahtuman nollaamiseksi.


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 […]