/ / Data e ora VBA di Excel

Data e ora VBA di Excel

Anno, mese, giorno di una data | DateAdd | Data e ora correnti | Ora, Minuto, Secondo | TimeValue

Impara come lavorare date e orari nel Excel VBA.

Inserisci un pulsante di comando nel tuo foglio di lavoro e aggiungi le linee di codice qui sotto. Per eseguire le righe di codice, fare clic sul pulsante di comando sul foglio.

Anno, mese, giorno di una data

La seguente macro ottiene l'anno di una data. Per dichiarare una data, usa l'istruzione Dim. Per inizializzare una data, utilizzare la funzione DateValue.

Codice:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Risultato:

Anno di una data in VBA di Excel

Nota: utilizzare Mese e Giorno per ottenere il mese e il giorno di una data.

DateAdd

Per aggiungere un numero di giorni a una data, utilizzare ilFunzione DateAdd. La funzione DateAdd ha tre argomenti. Compila "d" per il primo argomento per aggiungere giorni. Compila 3 per il secondo argomento per aggiungere 3 giorni. Il terzo argomento rappresenta la data a cui verrà aggiunto il numero di giorni.

Codice:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jun 19, 2010")
secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Risultato:

DateAdd

Nota: Cambia "d" in "m" per aggiungere un numero di mesi a una data. Posiziona il cursore su DateAdd nel Visual Basic Editor e fai clic su F1 per la guida sugli altri specificatori di intervallo. Le date sono nel formato degli Stati Uniti. Mesi prima, giorni secondo. Questo tipo di formato dipende dalle impostazioni regionali di Windows.

Data e ora correnti

Per ottenere la data e l'ora correnti, utilizzare la funzione Ora.

Codice:

MsgBox Now

Risultato:

Data e ora correnti

Ora, Minuto, Secondo

Ottenere l'ora di una volta, utilizzare la funzione Ora.

Codice:

MsgBox Hour(Now)

Risultato:

Ora del tempo corrente

Nota: Usa Minuto e Secondo per ottenere il minuto e il secondo di una volta.

TimeValue

La funzione TimeValue converte una stringa in un numero di serie temporale. Il numero di serie dell'ora è un numero compreso tra 0 e 1. Ad esempio, il mezzogiorno (a metà giornata) è rappresentato da 0,5.

Codice:

MsgBox TimeValue("9:20:01 am")

Risultato:

TimeValue

Ora, per vedere chiaramente che Excel gestisce le volte internamente come numeri tra 0 e 1, aggiungi le seguenti linee di codice:

Dim y As Double
y = TimeValue("09:20:01")
MsgBox y

Risultato:

Numero di serie temporale

Leggi anche: