Ora VBA di Excel
La funzione VBA TIME restituisce l'ora corrente come output e può anche essere utilizzata come input per diverse macro righe di codice. Questa funzione non ha alcun parametro impostato per essa e quindi, di gran lunga ha la sintassi più semplice come parola TIME con parentesi vuote che possono essere viste come di seguito:
La sintassi per la funzione VBA TIME:
Tempo()
In effetti, non sono necessarie anche parentesi, puoi semplicemente usare la parola TIME stessa nel tuo blocco di codice che consente al tuo sistema di restituire l'ora corrente. Abbiamo anche una funzione simile chiamata NOW () in Excel VBA che restituisce l'ora corrente insieme alla data. Tuttavia, in questo articolo, tutta la nostra attenzione verrebbe sull'uso della funzione TIME e sull'esame di diversi esempi di funzionamento dello stesso.
Come utilizzare la funzione ora VBA di Excel?
Impareremo come utilizzare una funzione VBA Time con alcuni esempi in Excel.
Puoi scaricare questo modello di Time Excel VBA qui - Modello di Time Excel VBAFunzione ora VBA - Esempio n. 1
Ora corrente del sistema usando la funzione TIME:
Seguire i passaggi seguenti per visualizzare l'ora corrente del sistema.
Passaggio 1: definire una procedura secondaria.
Codice:
Sub TimeExample1 () End Sub
Passaggio 2: definire una variabile che sarà utile per contenere il valore del tempo per te. Definirlo come stringa.
Codice:
Sub TimeExample1 () Dim CurrentTime As String End Sub
Nota: il motivo alla base della definizione di questa variabile come String è che l'output della funzione TIME è in una stringa.
Passaggio 3: utilizzare la funzione VBA TIME per assegnare l'ora corrente alla variabile definita nel passaggio precedente utilizzando un operatore di assegnazione.
Codice:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub
Passaggio 4: Come ho già detto in precedenza, non è necessario aggiungere parentesi dopo la funzione TIME poiché si tratta di una funzione volatile. Detto questo, il codice seguente fornirà l'output equivalente rispetto al codice sopra.
Codice:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () End Sub
Passaggio 5: ora, utilizzare una funzione MsgBox per visualizzare l'ora corrente utilizzando la finestra di messaggio di visualizzazione.
Codice:
Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub
Passaggio 6: eseguire questo codice premendo F5 o il pulsante Esegui e vedere l'output. Dovresti ottenere l'output come mostrato nell'immagine qui sotto.
Si noti che il tempo che si riflette nell'immagine sopra è il tempo in cui questo codice viene eseguito sul sistema. Durante il tentativo da solo, l'output può variare in base al tempo in cui si sta lavorando su questo codice.
Funzione ora VBA - Esempio n. 2
VBA TIME in combinazione con una funzione Date per restituire l'ora corrente con la data odierna:
Come è stato informato in precedenza nell'introduzione di questo articolo, esiste una funzione chiamata NOW () che fornisce la data corrente e l'ora in Microsoft Excel. Vedi lo screenshot fornito di seguito.
Tuttavia, in VBA non abbiamo questa funzione attiva. Pertanto, in VBA dobbiamo utilizzare una combinazione di funzioni VBA Date e VBA TIME per ottenere la data e l'ora correnti. VBA Date fornirà una data corrente e VBA Time fornirà l'ora corrente (che abbiamo già visto nel primo esempio).
Vediamo passo dopo passo come possiamo raggiungere questo obiettivo.
Passaggio 1: inserire un nuovo modulo nello script VBA di Excel.
Passaggio 2: definire una nuova procedura secondaria assegnando un nome alla macro.
Codice:
Esempio secondario2 () Fine Sottotitolo
Step 3: Volevamo che il nostro output fosse archiviato nella cella A1 del nostro foglio Excel. Per questo, inizia a scrivere il codice come di seguito.
Codice:
Esempio secondario 2 () Intervallo ("A1"). Valore = Fine sub
Passaggio 4: ora utilizza una combinazione di funzioni VBA DATE e VBA TIME come mostrato di seguito e assegna il valore alla cella A1.
Codice:
Esempio secondario 2 () Intervallo ("A1"). Valore = Data e "" e Ora fine
La funzione DATA restituirà la data corrente del sistema e la funzione TIME restituirà l'ora corrente. Lo spazio bianco racchiuso tra virgolette (““) consente di avere uno spazio tra data e ora nell'output finale. Due & (e) operatori lavorano come operatori concatenanti che concatenano DATA e ORA con spazio all'interno.
Passaggio 5: eseguire il codice premendo il pulsante F5 o Esegui manualmente. Vedrai l'output nella cella A1 del tuo foglio di lavoro come un colpo:
Qui, ancora una volta, tieni presente che il tempo che si riflette nella cella A1 è la data e l'ora in cui questo codice viene eseguito da solo. Pertanto, quando eseguirai questo codice, le uscite saranno diverse.
Possiamo anche formattare i valori di data e ora utilizzando la funzione NumberFormat in VBA.
Passaggio 6: scrivi il codice indicato di seguito nello script VBA.
Codice:
Esempio secondario 2 () Intervallo ("A1"). Valore = Data e "" e intervallo di tempo ("A1"). NumberFormat = "gg-mmm-aaaa hh: mm: ss AM / PM" End Sub
Passaggio 7: Premi F5 o il pulsante Esegui manualmente e vedrai l'output come sotto nella cella A1 del tuo foglio di lavoro.
Funzione ora VBA - Esempio n. 3
Funzione VBA TIME per tenere traccia dell'ora e della data di apertura di una cartella di lavoro:
A volte, c'è un foglio di calcolo che apriamo frequentemente (come l'elenco dei dipendenti di un'organizzazione) e apportiamo modifiche in esso. Potremmo essere interessati a conoscere la data e l'ora in cui le modifiche sono state apportate nel foglio di lavoro. La funzione Ora VBA può essere utilizzata per tenere traccia della data e dell'ora ogni volta che viene aperta una cartella di lavoro. Vedere i passaggi seguenti per lavorare sullo stesso.
Passaggio 1: crea un nuovo foglio di lavoro nella cartella di lavoro di Excel e rinominalo come preferisci. Lo rinominerò come (Time_Track).
Passaggio 2: fare doppio clic su ThisWorkbook in VBE (Visual Basics Editor).
Passaggio 3: dall'elenco a discesa degli oggetti selezionare Cartella di lavoro anziché Generale.
Passaggio 4: vedrai una nuova procedura privata privata definita sotto il nome Workbook_Open () in VBE.
Codice:
Private Sub Workbook_Open () End Sub
Passaggio 5: annotare il codice sotto riportato in questa macro procedura secondaria come mostrato nell'immagine seguente:
Codice:
Private Sub Workbook_Open () Dim LB As Long LB = Sheets ("Time_Track"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Sheets ("Time_Track"). Cells (LB, 1) .Value = Date & "" & Time () End Sub
Qui viene definito un LB variabile di tipo Long per individuare la cella accanto all'ultima cella utilizzata in cui è possibile memorizzare l'output. Quindi, usando una combinazione di funzioni VBA DATE e TIME, abbiamo assegnato un valore sotto quella cella.
Passaggio 6: eseguire il codice premendo F5 o il pulsante Esegui manualmente e vedere l'output nella colonna A di un foglio di lavoro.
Questo codice memorizzerà il valore di Data e ora ogni volta che si apre il foglio di lavoro Time_Track.
Questo è da questo articolo. Concludiamo le cose scrivendo alcune cose da ricordare.
Cose da ricordare
- La funzione VBA TIME memorizza l'output come stringa in Excel. Tuttavia, possiamo anche memorizzarlo come formato Data mentre si definisce una variabile come Data anziché una stringa.
- La funzione TIME non richiede alcun argomento al suo interno. È una funzione volatile.
- Anche non ha bisogno di parentesi per chiamare la funzione. È sufficiente solo TEMPO per ottenere l'ora corrente.
- La funzione TIME per impostazione predefinita memorizza il valore dell'ora nel formato hh: mm: ss (formato 24 ore). Tuttavia, a volte il formato di output dipende anche dal formato dell'ora del sistema.
Articoli consigliati
Questa è stata una guida alla funzione Ora VBA. Qui abbiamo discusso su come utilizzare le funzioni di tempo VBA di Excel e abbiamo anche imparato la combinazione di data e ora in alternativa alla funzione Now () e traccia i record aperti della cartella di lavoro insieme ad alcuni esempi pratici e modello di Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:
- Come creare Excel VBA MsgBox?
- WORKDAY Funzione Excel | Formula
- Guida a VBA Do While Loop
- Inserisci la data in Excel