Come utilizzare gli eventi OnTime e gli eventi di pressione dei tasti in Excel 2016 VBA

Come utilizzare gli eventi OnTime e gli eventi di pressione dei tasti in Excel 2016 VBA

Esistono due tipi di eventi che è possibile utilizzare nella programmazione VBA per Excel 2016 che non sono associati a oggetti: tempo e pressioni dei tasti. Poiché il tempo e le pressioni dei 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 particolare ora del giorno. L'esempio seguente mostra come fare in modo che Excel esegua una procedura quando si verifica l'evento delle 15:00. In questo caso, una voce robot ti dice di svegliarti, accompagnata da una finestra di messaggio:

SottoImpostaAllarme()
  Application.OnTime 0.625, “DisplayAlarm”
Fine sottotitolo
Sub DisplayAlarm()
  Applicazione.Speech.Speak ("Ehi, svegliati")
  MsgBox “ È ora della tua pausa pomeridiana!”
Fine sottotitolo

In questo esempio viene utilizzato il metodo OnTime dell'oggetto Application. Questo metodo accetta due argomenti: l'ora (0,625 o 15:00) e il nome della procedura Sub da eseguire quando si verifica l'evento orario (DisplayAlarm).

Questa procedura è molto utile se tendi ad essere così preso dal tuo lavoro da dimenticarti di riunioni e appuntamenti. Basta impostare un evento OnTime per ricordarselo.

La maggior parte delle persone trova difficile pensare al tempo in termini di sistema di numerazione Excel. Pertanto, potresti voler utilizzare la funzione VBA TimeValue per rappresentare l'ora. TimeValue converte una stringa che assomiglia a un'ora in un valore che Excel può gestire. La seguente dichiarazione mostra un modo più semplice per programmare un evento per le 15:00:

Application.OnTime TimeValue(“3:00:00 pm”), “DisplayAlarm”

Se vuoi programmare un evento relativo all'ora corrente (ad esempio, tra 20 minuti), puoi utilizzare un'istruzione come questa:

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

È inoltre possibile utilizzare il metodo OnTime per eseguire una procedura VBA in un determinato giorno. Devi assicurarti che il tuo computer continui a funzionare e che la cartella di lavoro con la procedura sia aperta. La seguente dichiarazione esegue la procedura DisplayAlarm alle 17:00 del 31 dicembre 2016:

Application.OnTime DateValue ("31/12/2016 17:00"), "DisplayAlarm"

Questa particolare riga di codice potrebbe tornare utile per avvisarti che devi andare a casa e prepararti per i festeggiamenti di Capodanno.

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

Dim NextSeleziona come data
Sub UpdateOrologio()
' Aggiorna la cella A1 con l'ora corrente
  ThisWorkbook.Sheets(1).Range(“A1”) = Time
' Imposta il prossimo evento tra cinque secondi
  NextTick = Now + TimeValue(“00:00:05”)
  Application.OnTime NextTick, “UpdateClock”
Fine sottotitolo
Sub StopOrologio()
' Annulla l'evento OnTime (ferma l'orologio)
  In caso di errore Riprendi Avanti
  Application.OnTime NextTick, “UpdateClock”, , False
Fine sottotitolo

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 (supponendo che Excel sia ancora in esecuzione). Per evitare ciò, utilizzare una routine evento Workbook_BeforeClose che contenga la seguente istruzione:

Chiama StopOrologio

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

Se desideri vedere un'applicazione piuttosto complicata, dai un'occhiata a questa applicazione di 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.

Come utilizzare gli eventi OnTime e gli eventi di pressione dei tasti in Excel 2016 VBA

Un'applicazione per l'orologio analogico.

Eventi di pressione dei tasti

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

Ecco un esempio che riassegna i tasti PgDn e PgUp:

Sub Setup_OnKey()
  Tasto Application.On “{PgDn}”, “PgDn_Sub”
  Application.OnKey “{PgUp}”, “PgUp_Sub”
Fine sottotitolo
Sub PgDn_Sub()
  In caso di errore Riprendi Avanti
  ActiveCell.Offset(1, 0).Attiva
Fine sottotitolo
Sub PgUp_Sub()
  In caso di errore Riprendi Avanti
  ActiveCell.Offset(-1, 0).Attiva
Fine sottotitolo

Dopo aver impostato gli eventi OnKey eseguendo la procedura Setup_OnKey, premendo PgDn si scende di una riga. Premendo PgUp si sale di una riga.

Notare che i codici chiave sono racchiusi tra parentesi graffe, non tra parentesi. Per un elenco completo dei codici della tastiera, consultare il sistema di Help. 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, il tentativo di salire di una riga provoca un errore che può essere tranquillamente ignorato. E se un foglio grafico è attivo, non c'è nessuna cella attiva.

Eseguendo la seguente routine si annullano gli eventi OnKey:

Sub Cancel_OnKey()
  Application.OnKey “{PgDn}”
  Application.OnKey “{PgUp}”
Fine sottotitolo

L'utilizzo di 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 istruzione indica a Excel di ignorare Alt+F4. Il segno di percentuale rappresenta il tasto Alt:

  Application.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 si chiude la cartella di lavoro che contiene il codice e si lascia Excel aperto, il metodo OnKey non verrà reimpostato. Di conseguenza, premendo il tasto di scelta rapida, Excel aprirà automaticamente il file con la macro. Per evitare che ciò accada, dovresti includere il codice nel codice dell'evento Workbook_BeforeClose per reimpostare l'evento OnKey.


Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet è una piattaforma di lavoro dinamica che ti consente di gestire progetti, creare flussi di lavoro e collaborare con il tuo team.

SharePoint

SharePoint

SharePoint è un sistema di collaborazione basato sul Web che utilizza una varietà di applicazioni per flussi di lavoro, database di "elenco" e altri componenti Web, nonché funzionalità di sicurezza per fornire controllo ai gruppi aziendali che lavorano insieme.

Calendario perpetuo 1.0.38/1.0.36

Calendario perpetuo 1.0.38/1.0.36

Van Nien Calendar è un'applicazione per la visualizzazione del calendario sul tuo telefono, che ti aiuta a vedere rapidamente la data lunisolare sul tuo telefono, organizzando così il tuo lavoro importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook è un'applicazione aziendale e di produttività sviluppata da Microsoft Corporation.

Fare clic su

Fare clic su

ClickUp è una delle piattaforme di produttività più apprezzate per qualsiasi azienda. Grandi aziende come Google, Booking.com, San Diego Padres e Uber utilizzano ClickUp per aumentare la produttività sul posto di lavoro.

Visualizzatore PDF-XChange 2.5.322.10

Visualizzatore PDF-XChange 2.5.322.10

Il PDF è diventato un formato comunemente utilizzato per leggere, creare e inviare documenti di testo. A sua volta, c'è stato un aumento del numero di programmi utilizzati per questo tipo di documentazione. PDF-XChange Viewer fa parte di un numero crescente di visualizzatori PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice offre una suite completa di applicazioni Office che rivaleggiano con Microsoft 365, in particolare in Excel, PowerPoint e Word. Ti consente di gestire i tuoi progetti in modo più efficace e supporta diversi formati di file.

Scarica iTaxviewer 1.8.7

Scarica iTaxviewer 1.8.7

Il software iTaxViewer è il software di lettura di file XML più popolare oggi. Questo software è un'applicazione per la lettura delle dichiarazioni fiscali elettroniche in formato XML del Dipartimento Generale delle Imposte.

Lettore PDF Nitro

Lettore PDF Nitro

Nitro PDF Reader è un pratico editor PDF che copre tutte le attività di base che la maggior parte delle persone esegue ogni giorno con i documenti PDF.

Foxit Reader 12

Foxit Reader 12

Foxit Reader è principalmente un lettore PDF e consente anche di creare file PDF, firmarli, modificarli e aggiungere annotazioni. Funziona su sistemi operativi, ci sono plugin per vari programmi del pacchetto Microsoft Office.