Excel VBA data e ora
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:
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:
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:
ore, minuti, secondi
Il ottenere l’ora di un tempo, utilizzare la funzione Hour.
Codice:
MsgBox Hour(Now)
Risultato:
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:
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: