Hjem Sosiale medier Slik bruker du OnTime Events og Keypress Events i Excel 2016 VBA - dummies

Slik bruker du OnTime Events og Keypress Events i Excel 2016 VBA - dummies

Innholdsfortegnelse:

Video: TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K) 2024

Video: TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K) 2024
Anonim

Det finnes to typer hendelser du kan bruke i VBA programmering for Excel 2016 som ikke er knyttet til objekter: tid og tastetrykk. Fordi tid og tastetrykk ikke er knyttet til en bestemt gjenstand, for eksempel en arbeidsbok eller et regneark, programmerer du disse hendelsene i en vanlig VBA-modul.

OnTime-hendelsen

OnTime-hendelsen oppstår når en bestemt tid på dagen oppstår. Følgende eksempel viser hvordan du får Excel til å utføre en prosedyre når 3 p. m. hendelsen oppstår. I dette tilfellet forteller en robuststemme deg å våkne opp, ledsaget av en meldingsboks:

Sub SetAlarm () Program. OnTime 0. 625, "DisplayAlarm" End Sub Sub DisplayAlarm () Program. Tale. Snakk ("Hei, våkne opp") MsgBox "Det er på tide for ettermiddagen! "End Sub

I dette eksemplet brukes OnTime-metoden i Application-objektet. Denne metoden tar to argumenter: tiden (0. 625 eller 3: 00 s. M.) Og navnet på Sub-prosedyren som skal utføres når tidsbegivenheten oppstår (DisplayAlarm).

Denne prosedyren er ganske nyttig hvis du pleier å bli så innpakket i arbeidet ditt at du glemmer møter og avtaler. Bare sett en OnTime-hendelse for å minne deg selv.

De fleste synes det er vanskelig å tenke på tid når det gjelder Excel-nummereringssystemet. Derfor kan du bruke VBA TimeValue-funksjonen til å representere tiden. TimeValue konverterer en streng som ser ut som en tid i en verdi som Excel kan håndtere. Følgende erklæring viser en enklere måte å programmere en begivenhet for 3 p. m.:

Program. OnTime TimeValue ("3:00:00"), "DisplayAlarm"

Hvis du vil planlegge en hendelse i forhold til gjeldende tid (for eksempel 20 minutter fra nå) kan du bruke en setning som denne: < applikasjon. OnTime Now + TimeValue ("00: 20: 00"), "DisplayAlarm"

Du kan også bruke OnTime-metoden til å kjøre en VBA-prosedyre på en bestemt dag. Du må sørge for at datamaskinen din fortsetter å løpe og at arbeidsboken med prosedyren holdes åpen. Følgende erklæring kjører DisplayAlarm-prosedyren på 5 s. m. 31. desember 2016:

Søknad. OnTime DateValue ("12/31/2016 5: 00 pm"), "DisplayAlarm"

Denne spesielle kodelinjen kan være nyttig for å advare deg om at du må gå hjem og gjøre deg klar for nyttårsaften.

Her er et annet eksempel som bruker OnTime-hendelsen. Gjennomføring av UpdateClock-prosedyrene skriver tiden til celle A1 og programmerer også en annen hendelse fem sekunder senere.Denne hendelsen gjenoppretter oppdateringsprosessen. Nettoeffekten er at celle A1 er oppdatert med gjeldende tid hvert femte sekund. For å stoppe hendelsene, utfør StopClock-prosedyren (som avbryter hendelsen). Legg merke til at NextTick er en variabel på modulnivå som lagrer tiden for neste hendelse.

Dim NextTick som Date Sub UpdateClock () 'Oppdaterer celle A1 med gjeldende tid ThisWorkbook. Ark (1). Range ("A1") = Time 'Sett opp neste hendelse fem sekunder fra nå NextTick = Nå + TimeValue ("00: 00: 05") Application. OnTime NextTick, "UpdateClock" Slutt Sub Sub StopClock () 'Annullerer OnTime-hendelsen (stopper klokken) På feil Fortsett neste applikasjon. OnTime NextTick, "UpdateClock", False End Sub

OnTime-arrangementet fortsetter selv etter at arbeidsboken er stengt. Med andre ord, hvis du lukker arbeidsboken uten å kjøre StopClock-prosedyren, vil arbeidsboken gjenåpne seg om fem sekunder (forutsatt at Excel fortsatt kjører). For å forhindre dette, bruk en Workbook_BeforeClose-hendelsesprosedyre som inneholder følgende setning:

Call StopClock

OnTime-metoden har to ekstra argumenter. Hvis du planlegger å bruke denne metoden, bør du se hjelpesystemet for fullstendige opplysninger.

Hvis du vil se et ganske komplisert program, sjekk ut denne analoge klokkeapplikasjonen. Klokkefaget er faktisk et diagram, og diagrammet oppdateres hvert sekund for å vise tidspunktet på dagen. Useless, men morsomt.

En analog klokke applikasjon.

Keypress hendelser

Mens du arbeider, overvåker Excel hele tiden hva du skriver. På grunn av dette kan du sette opp ting slik at et tastetrykk eller en tastekombinasjon utfører en prosedyre.

Her er et eksempel som tilordner PgDn og PgUp-tastene:

Sub Setup_OnKey () Applikasjon. OnKey "{PgDn}", "PgDn_Sub" -applikasjon. OnKey "{PgUp}", "PgUp_Sub" End Sub Sub PgDn_Sub () På Feil Fortsett Neste ActiveCell. Offset (1, 0). Aktiver End Sub Sub PgUp_Sub () På Feil Fortsett Neste ActiveCell. Offset (-1, 0). Aktiver sluttdel

Etter å ha satt opp OnKey-hendelsene ved å utføre Setup_OnKey-prosedyren, trykker du på PgDn deg ned en rad. Ved å trykke på PgUp flyttes du opp en rad.

Legg merke til at nøkkelkodene er vedlagt i seler, ikke i parentes. For en komplett liste over tastaturkoder, se hjelpesystemet. Søk etter

OnKey. I dette eksemplet brukes På feil CV neste for å ignorere eventuelle feil som genereres. Hvis den aktive cellen er for eksempel i første rad, forsøker det å forsøke å bevege seg opp en rad en feil som sikkert kan ignoreres. Og hvis et kartark er aktivt, er det ingen aktiv celle.

Ved å utføre følgende rutine, avbryter du OnKey-hendelsene:

Sub Cancel_OnKey () Program. OnKey "{PgDn}" Søknad. OnKey "{PgUp}" End Sub

Avbryter OnKey-hendelsen ved å bruke en tom streng som det andre argumentet for OnKey-metoden

ikke . I stedet fører det til at Excel bare ignorerer tastetrykket. For eksempel forteller følgende setning om at Excel skal ignorere Alt + F4. Prosent-tegnet representerer Alt-tasten: Program.OnKey "% {F4}", ""

Selv om du kan bruke OnKey-metoden til å tilordne en snarvei for å utføre en makro, bør du bruke dialogboksen Makroalternativer for denne oppgaven.

Hvis du lukker arbeidsboken som inneholder koden og lar Excel åpne, vil OnKey-metoden ikke nullstilles. Som følge av dette, vil trykke på snarveisknappen føre til at Excel automatisk åpner filen med makroen. For å unngå at dette skjer, bør du inkludere kode i arbeidsboken_BeforeClose-hendelseskoden for å tilbakestille OnKey-hendelsen.

Slik bruker du OnTime Events og Keypress Events i Excel 2016 VBA - dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...