Imparare a lavorare con date e gli orari in Excel VBA.

Mettere un link: / VBA-Create-a-macro # Comando-tasto [pulsante di comando] nel foglio di lavoro e aggiungere le linee di codice di seguito. Per eseguire le linee 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, utilizzare l’istruzione Dim. Per inizializzare una data, utilizzare la funzione DateValue.

Codice:

Dim exampleDate As Date



exampleDate = DateValue("Jan 19, 2020")

MsgBox Year(exampleDate)

Risultato:

Year of a Date in Excel VBA

Nota: Usare mese e giorno per ottenere il mese e il giorno di una data.

DateAdd

Per aggiungere un numero di giorni a una data, utilizzare la funzione DateAdd. La funzione DateAdd ha tre argomenti. Compilare “d” per il primo argomento da aggiungere giorni. Compilare 3 per il secondo argomento per aggiungere 3 giorni. Il terzo argomento rappresenta la data alla quale verrà aggiunto il numero di giorni.

Codice:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jan 19, 2020")

secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Risultato:

DateAdd

Nota: Cambiare “d” a “m” per aggiungere un certo numero di mesi per una data. Posizionare il cursore sul DateAdd in Visual Basic Editor e fare clic su F1 per un aiuto sugli altri specificatori di intervallo. Le date sono in formato USA. Mesi prima, seconda giorni. Questo tipo di formato dipende dalle vostre finestre Impostazioni internazionali.

Data e ora correnti

Per ottenere la data e l’ora correnti, utilizzare la funzione Now.

Codice:

MsgBox Now

Risultato:

Current Date and Time

ore, minuti, secondi

Il ottenere l’ora di un tempo, utilizzare la funzione Hour.

Codice:

MsgBox Hour(Now)

Risultato:

Hour of the Current Time

Nota: utilizzare i minuti ei secondi per ottenere il minuto e il secondo di un tempo.

TimeValue

La funzione TimeValue converte una stringa in un numero di serie tempo. Il numero di serie del tempo è un numero compreso tra 0 e 1. Ad esempio, a mezzogiorno (a metà giornata) è rappresentato come 0.5.

Codice:

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

Risultato:

TimeValue

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

Dim y As Double

y = TimeValue("09:20:01")

MsgBox y

Risultato:

Time Serial Number