Hem Sociala medier Hur man använder OnTime Events och Keypress Events i Excel 2016 VBA - dummies

Hur man använder OnTime Events och Keypress Events i Excel 2016 VBA - dummies

Innehållsförteckning:

Video: Xiaomi Mi 9 PARAMPARÇA! TÜRKİYE'DE İLK teknik özellikler! 2025

Video: Xiaomi Mi 9 PARAMPARÇA! TÜRKİYE'DE İLK teknik özellikler! 2025
Anonim

Det finns två typer av händelser som du kan använda i VBA-programmering för Excel 2016 som inte är associerade med objekt: tid och knapptryckningar. Eftersom tid och tangenttryck inte är kopplade till ett visst objekt, till exempel en arbetsbok eller ett arbetsblad, programmerar du dessa händelser i en vanlig VBA-modul.

OnTime-händelsen

OnTime-händelsen inträffar när en viss tid på dagen inträffar. Följande exempel visar hur man får Excel att utföra en procedur när 3 p. m. händelse inträffar. I det här fallet berättar en robotröst att du vaknar, åtföljd av en meddelandruta:

Sub SetAlarm () Application. OnTime 0. 625, "DisplayAlarm" End Sub Sub DisplayAlarm () Applikation. Tal. Tala ("Hej, vakna") MsgBox "Det är dags för din eftermiddagsbrott! "Slutdel

I det här exemplet används OnTime-metoden i applikationsobjektet. Denna metod tar två argument: tiden (0. 625 eller 3: 00 s. M.) Och namnet på Sub-proceduren som ska utföras när tidshändelsen inträffar (DisplayAlarm).

Denna procedur är ganska användbar om du tenderar att bli så inslagna i ditt arbete att du glömmer möten och möten. Ställ bara in en OnTime-händelse för att påminna dig själv.

De flesta tycker att det är svårt att tänka på tiden när det gäller Excel-numreringssystemet. Därför kan du använda funktionen VBA TimeValue för att representera tiden. TimeValue konverterar en sträng som ser ut som en tid till ett värde som Excel kan hantera. Följande redogörelse visar ett enklare sätt att programmera en händelse för 3 sidor. m.:

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

Om du vill schemalägga en händelse i förhållande till aktuell tid (till exempel 20 minuter från nu) kan du använda ett uttalande så här: < Application. OnTime Now + TimeValue ("00: 20: 00"), "DisplayAlarm"

Du kan också använda OnTime-metoden för att köra en VBA-procedur på en viss dag. Du måste se till att din dator fortsätter att fungera och att arbetsboken med proceduren hålls öppen. Följande uttalande körs på displayalarmproceduren vid 5 s. m. den 31 december 2016:

Ansökan. OnTime DateValue ("12/31/2016 5:00"), "DisplayAlarm"

Denna speciella kodlinje kan vara till nytta för att varna dig för att du måste gå hem och göra dig redo för nyårsaftonfestivalen.

Här är ett annat exempel som använder OnTime-händelsen. Genomförandet av UpdateClock-procedurerna skriver tiden till cell A1 och programmerar också en annan händelse fem sekunder senare.Denna händelse återställer UpdateClock-proceduren. Nettoeffekten är att cell A1 uppdateras med den aktuella tiden var femte sekund. För att stoppa händelserna, kör StopClock-proceduren (vilket avbryter händelsen). Observera att NextTick är en modulnivåvariabel som lagrar tiden för nästa händelse.

Dim NextTick som Date Sub UpdateClock () 'Uppdaterar cell A1 med den aktuella tiden ThisWorkbook. Ark (1). Område ("A1") = Tid 'Ställ in nästa händelse fem sekunder från nu NextTick = Nu + TimeValue ("00: 00: 05") Applikation. OnTime NextTick, "UpdateClock" End Sub Sub StopClock () 'Annullerar OnTime-händelsen (stoppar klockan) På fel Fortsätt nästa applikation. OnTime NextTick, "UpdateClock", False End Sub

OnTime-händelsen fortsätter även efter att arbetsboken är stängd. Med andra ord, om du stänger arbetsboken utan att köra StopClock-proceduren, öppnas arbetsboken igen om fem sekunder (förutsatt att Excel fortfarande körs). För att förhindra detta, använd ett Workbook_BeforeClose-händelseförfarande som innehåller följande uttalande:

Samtals StopClock

OnTime-metoden har ytterligare två argument. Om du planerar att använda den här metoden, bör du referera till hjälpsystemet för fullständiga detaljer.

Om du vill se en ganska komplicerad applikation, kolla in den här analoga klockanvändningen. Klockans ansikte är faktiskt ett diagram, och diagrammet uppdateras varje sekund för att visa tid på dagen. Useless, men kul.

En analog klockansökan.

Tangenttryckshändelser

Medan du arbetar, övervakar Excel ständigt vad du skriver. På grund av detta kan du ställa in saker så att ett tangenttryck eller en tangentkombination utförs en procedur.

Här är ett exempel som omfördelar PgDn och PgUp-tangenterna:

Sub Setup_OnKey () Application. OnKey "{PgDn}", "PgDn_Sub" -applikation. OnKey "{PgUp}", "PgUp_Sub" Slut Sub Sub PgDn_Sub () På Fel Fortsätt Nästa ActiveCell. Offset (1, 0). Aktivera End Sub Sub PgUp_Sub () På Fel Fortsätt Nästa ActiveCell. Offset (-1, 0). Aktivera slutdel

När du har ställt in OnKey-händelserna genom att utföra Setup_OnKey-proceduren, trycker du på PgDn ner en rad. Genom att trycka på PgUp flyttas du upp en rad.

Observera att nyckelkoderna är bifogade i axlar, inte inom parentes. För en fullständig lista med tangentbordskoder, se Hjälp-systemet. Sök efter

OnKey. I det här exemplet används Error Error Next (Nästa) för att ignorera eventuella fel som genereras. Om den aktiva cellen är till exempel i den första raden, försöker du att flytta upp en rad ett fel som säkert kan ignoreras. Och om ett diagramblad är aktivt finns det ingen aktiv cell.

Genom att utföra följande rutin avbryter du OnKey-händelserna:

Sub Cancel_OnKey () Applikation. OnKey "{PgDn}" Ansökan. OnKey "{PgUp}" End Sub

Avbryta OnKey-händelsen med

inte med en tom sträng som andra argumentet för OnKey-metoden. Snarare gör det att Excel enkelt ignorerar tangenttryckningen. Till exempel säger följande uttalande att Excel ska ignorera Alt + F4. Procenttalet representerar Alt-tangenten: Application.OnKey "% {F4}", ""

Även om du kan använda OnKey-metoden för att tilldela en genvägsknapp för att exekvera ett makro ska du använda dialogrutan Makroalternativ för den här uppgiften.

Om du stänger arbetsboken som innehåller koden och lämnar Excel öppen, kommer OnKey-metoden inte att återställas. Till följd av att genom att trycka på genvägsknappen kommer Excel att automatiskt öppna filen med makroet. För att förhindra att detta händer bör du inkludera kod i din Workbook_BeforeClose-händelsekod för att återställa OnKey-händelsen.

Hur man använder OnTime Events och Keypress Events i Excel 2016 VBA - dummies

Redaktörens val

Hur man korrigerar vanliga försäljningsfel i QuickBooks 2015 - dummies

Hur man korrigerar vanliga försäljningsfel i QuickBooks 2015 - dummies

Om du gör ett misstag i ange ett kvitto (kontantförsäljning) i QuickBooks 2015, oroa dig inte. De flesta fel har enkla lösningar. Här är en lista över vanliga problem och hur man fixar dem: Om försäljningskvittot fortfarande visas på skärmen: Om försäljningskvittot fortfarande är på skärmen kan du flytta markören till ...

Hur man skapar en revisors kopia av din QuickBooks 2010 datafil - dummies

Hur man skapar en revisors kopia av din QuickBooks 2010 datafil - dummies

QuickBooks 2010 gör det enkelt för revisorer att arbeta med klientdatafiler. Du kan använda Accountant's Copy-funktionen i QuickBooks för att helt enkelt e-posta (eller snail-mail) din revisor en kopia av QuickBooks-datafilen. Du skapar revisorns kopia av QuickBooks datafil genom att använda din version av QuickBooks och den verkliga ...

Hur man skapar en ny budget i QuickBooks - dummies

Hur man skapar en ny budget i QuickBooks - dummies

När du har kommit överens med en budget Med hjälp av vissa budgeteringsmetoder registrerar du din budget i QuickBooks. Om du vill skapa en ny budget i QuickBooks följer du dessa steg:

Redaktörens val

ÖVersätt Twitter Slang och Jargon - dummies

ÖVersätt Twitter Slang och Jargon - dummies

Diskussioner om och om Twitter är fulla med alla slags förkortningar och jargong som kan förvirra nya Twitter-användare. Vad talar folk om (och tweeting) om? Följande ordlista definierar några av de förvirrande förkortningarna och Twitter-lingo du kan komma över. AFAIK: Så vitt jag vet. bot: Ett konto som drivs av en ...

Vad är Letgo? - dummies

Vad är Letgo? - dummies

Letgo är en mobil klassificerad applikation som tillåter användare att köpa från och sälja till andra lokalt. Du kan använda Letgo till fyndbutik eller slutligen släppa på saker som samlar damm runt ditt hus. I likhet med andra classifieds-applikationer som Wallapop eller Craigslist kommer säljare att skicka ett objekt och vänta på en köpare ...

Vad är Bebo? - dummies

Vad är Bebo? - dummies

Innan Facebook gick i centrum, var Bebo en av de mest populära på de sociala nätverkssidorna. Tillbaka i mitten av 1990-talet kanske några av er kommer ihåg Bebo. Den här webbplatsen har utvecklats och lanserats under MySpace och Hi5s dagar när socialt nätverkande först skedde i Internetgemenskapen. AOL: s 850 miljoner ...

Redaktörens val

Ser ut för makrovirus i Office 2003 - dummies

Ser ut för makrovirus i Office 2003 - dummies

Microsoft Office 2003 ger dig två sätt att skapa en makro. Det enklaste sättet är att spela in dina tangenttryckningar och sedan spela upp dem när du behöver dem. Det hårdare sättet att skapa ett makro är att använda Microsofts speciella makroprogrammeringsspråk (kallat Visual Basic for Applications eller VBA) för att skapa kraftfullare ...

Tio Office 2013 Snabbkommandon - dummies

Tio Office 2013 Snabbkommandon - dummies

Ett vanligt tema för Office 2013 är att alla program ser ut och fungerar lika. När du har läst hur du använder Word hittar du det inte mycket svårare att lära sig Excel eller PowerPoint eftersom flikflikarna alla fungerar på liknande sätt. Ännu bättre, samma tangentkommandon fungerar lika i alla Office 2013-program. Vid ...

Vad är kontorsmallar? - dummies

Vad är kontorsmallar? - dummies

Microsoft Word är det mest populära i Office 2013-programmen eftersom nästan alla behöver skapa textdokument av en eller annan typ. Med Word kan du skapa allt från faxöverdragsark till skolböcker till familjesemestrar. Du kan skapa ett tomt nytt dokument, eller du kan basera ett nytt ...