Casa Social media Come utilizzare Eventi OnTime e Eventi Keypress in Excel 2016 VBA - dummies

Come utilizzare Eventi OnTime e Eventi Keypress in Excel 2016 VBA - dummies

Sommario:

Video: Visual Basic .NET Tutorial 21 - How to use Timer Control in VB.NET 2025

Video: Visual Basic .NET Tutorial 21 - How to use Timer Control in VB.NET 2025
Anonim

Esistono due tipi di eventi che è possibile utilizzare nella programmazione VBA per Excel 2016 che non sono associati agli oggetti: tempo e pressioni dei tasti. Poiché il tempo e i tasti non sono associati a un oggetto particolare come una cartella di lavoro o un foglio di lavoro, si programmano questi eventi in un normale modulo VBA.

L'evento OnTime

L'evento OnTime si verifica quando si verifica una determinata ora del giorno. Nell'esempio seguente viene illustrato come ottenere in Excel l'esecuzione di una procedura quando 3 p. m. evento si verifica. In questo caso, una voce del robot ti dice di svegliarti, accompagnato da una finestra di messaggio:

Applicazione Sub SetAlarm (). OnTime 0. 625, Applicazione "DisplayAlarm" End Sub Sub DisplayAlarm (). Discorso. Parla ("Ehi, svegliati") MsgBox "È ora di fare una pausa pomeridiana! "End Sub

In questo esempio, viene utilizzato il metodo OnTime dell'oggetto Application. Questo metodo accetta due argomenti: il tempo (0. 625 o 3: 00 p. M.) E il nome della procedura Sub da eseguire quando si verifica l'evento temporale (DisplayAlarm).

Questa procedura è molto utile se si tende a lasciarsi coinvolgere nel proprio lavoro da dimenticare le riunioni e gli appuntamenti. Basta impostare un evento OnTime per ricordare a te stesso.

La maggior parte delle persone ha difficoltà a pensare al tempo in termini di sistema di numerazione Excel. Pertanto, è possibile utilizzare la funzione VBA TimeValue per rappresentare l'ora. TimeValue converte una stringa che assomiglia a un tempo in un valore che può essere gestito da Excel. La seguente dichiarazione mostra un modo più semplice per programmare un evento per 3 p. m.:

Applicazione. OnTime TimeValue ("3: 00: 00 pm"), "DisplayAlarm"

Se si desidera pianificare un evento relativo all'ora corrente (ad esempio, 20 minuti da ora), è possibile utilizzare una dichiarazione come questa: < applicazioni. OnTime Now + TimeValue ("00: 20: 00"), "DisplayAlarm"

È inoltre possibile utilizzare il metodo OnTime per eseguire una procedura VBA in un particolare giorno. È necessario assicurarsi che il computer continui a funzionare e che la cartella di lavoro con la procedura sia mantenuta aperta. La seguente dichiarazione esegue la procedura DisplayAlarm a 5 p. m. il 31 dicembre 2016:

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

Questa particolare linea di codice potrebbe rivelarsi utile per avvertirti che devi andare a casa e prepararti per le festività di Capodanno.

Ecco un altro esempio che utilizza l'evento OnTime. L'esecuzione delle procedure UpdateClock scrive l'ora nella cella A1 e inoltre programma un altro evento cinque secondi dopo.Questo evento riesegue la procedura UpdateClock. L'effetto netto è che la cella A1 viene aggiornata con l'ora corrente ogni cinque secondi. Per interrompere gli eventi, eseguire la procedura StopClock (che annulla l'evento). Notare che NextTick è una variabile a livello di modulo che memorizza l'ora per l'evento successivo.

Dim NextTick As Date Sub UpdateClock () 'Aggiorna la cella A1 con l'ora corrente ThisWorkbook. Fogli (1). Range ("A1") = Time "Imposta l'evento successivo a cinque secondi da ora NextTick = Now + TimeValue (" 00: 00: 05 ") Application. OnTime NextTick, "UpdateClock" End Sub Sub StopClock () "Annulla l'evento OnTime (arresta l'orologio) On Error Riprendi l'applicazione successiva. OnTime NextTick, "UpdateClock", False End Sub

L'evento OnTime persiste anche dopo la chiusura della cartella di lavoro. In altre parole, se chiudi la cartella di lavoro senza eseguire la procedura StopClock, la cartella di lavoro si riaprirà automaticamente in cinque secondi (presupponendo che Excel sia ancora in esecuzione). Per impedire ciò, utilizzare una routine di evento Workbook_BeforeClose che contiene la seguente istruzione:

Call StopClock

Il metodo OnTime ha due argomenti aggiuntivi. Se si prevede di utilizzare questo metodo, è necessario fare riferimento al sistema di guida per i dettagli completi.

Se desideri vedere un'applicazione piuttosto complicata, controlla questa applicazione orologio analogico. Il quadrante dell'orologio è in realtà un grafico e il grafico viene aggiornato ogni secondo per visualizzare l'ora del giorno. Inutile, ma divertente.

Un'applicazione orologio analogico.

Eventi Keypress

Mentre lavori, Excel controlla costantemente ciò che scrivi. Per questo motivo, è possibile impostare le cose in modo che una combinazione di tasti o una combinazione di tasti esegua una procedura.

Ecco un esempio che riassegna le chiavi PgDn e PgUp:

Applicazione Sub Setup_OnKey (). OnKey "{PgDn}", "PgDn_Sub" Applicazione. OnKey "{PgUp}", "PgUp_Sub" End Sub Sub PgDn_Sub () in caso di errore Riprendi ActiveCell successivo. Offset (1, 0). Attiva End Sub Sub PgUp_Sub () in caso di errore Riprendi ActiveCell successivo. Offset (-1, 0). Attiva End Sub

Dopo aver configurato gli eventi OnKey eseguendo la procedura Setup_OnKey, premendo PgDn si sposta di una riga verso il basso. Premendo PgUp ti muovi di una riga.

Si noti che i codici chiave sono racchiusi tra parentesi graffe, non tra parentesi. Per un elenco completo dei codici della tastiera, consultare il sistema della Guida. Cerca

OnKey. In questo esempio, On Error Resume Next viene utilizzato per ignorare eventuali errori generati. Ad esempio, se la cella attiva si trova nella prima riga, provare a spostarsi verso l'alto di una riga causa un errore che può essere tranquillamente ignorato. E se un foglio grafico è attivo, non esiste una cella attiva.

Eseguendo la seguente routine, si annullano gli eventi OnKey:

Applicazione Sub Cancel_OnKey (). Applicazione "{PgDn}" OnKey. OnKey "{PgUp}" End Sub

Utilizzando una stringa vuota come secondo argomento per il metodo OnKey,

non annulla l'evento OnKey. Piuttosto, fa sì che Excel ignori semplicemente la sequenza di tasti. Ad esempio, la seguente dichiarazione dice ad Excel di ignorare Alt + F4. Il segno di percentuale rappresenta il tasto Alt: Applicazione.OnKey "% {F4}", ""

Sebbene sia possibile utilizzare il metodo OnKey per assegnare un tasto di scelta rapida per l'esecuzione di una macro, è necessario utilizzare la finestra di dialogo Opzioni macro per questa attività.

Se chiudi la cartella di lavoro che contiene il codice e lascia Excel aperto, il metodo OnKey non verrà ripristinato. Di conseguenza, premendo il tasto di scelta rapida, Excel aprirà automaticamente il file con la macro. Per evitare che ciò accada, è necessario includere il codice nel codice evento Workbook_BeforeClose per reimpostare l'evento OnKey.

Come utilizzare Eventi OnTime e Eventi Keypress in Excel 2016 VBA - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...