Come utilizzare la funzione vba datepart?
La funzione VBA DATEPART è elencata nella categoria data delle funzioni VBA. Quando lo utilizzi nel codice VBA, può restituire il valore del giorno da un valore di data o ora . In termini semplici, puoi ottenere secondi, minuti, ore, giorni, mesi o anni da una data o da un valore temporale.
Sintassi
DatePart(intervallo, data, [primogiornodellasettimana, [primasettimanadell’anno]])
argomenti
- Intervallo : una stringa per specificare quale parte della data deve essere restituita nel risultato.
- Data : la data a partire dalla quale deve ritornare la parte della data.
- [FirstDayOfWeek] : una stringa per definire il primo giorno della settimana [Questo è un argomento facoltativo e se omesso vbSunday per impostazione predefinita].
- vbUseSystemDayOfWeek – A seconda delle impostazioni di sistema.
- vbDomenica – Domenica
- vblunday – lunedì
- vbMartedì – Martedì
- vbMercoledì – Mercoledì
- vbGiovedi – Giovedì
- vbVenerdì – Venerdì
- vbSabato – Sabato
- [FirstWeekOfYear] : una stringa per definire la prima settimana dell’anno [Questo è un argomento facoltativo e se omesso vbFirstJan1 per impostazione predefinita].
- vbSystem – A seconda delle impostazioni del sistema.
- vbFirstJan1 – La settimana in cui cade il 1° giorno di gennaio.
- vbFirstFourDays – La prima settimana che contiene almeno quattro giorni nel nuovo anno.
- vbFirstFullWeek – La prima settimana intera del nuovo anno.
Esempio
Per capire praticamente come utilizzare la funzione VBA DATEPART è necessario seguire l’esempio seguente in cui abbiamo scritto un codice vba utilizzandola:
Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub
Nel codice sopra abbiamo utilizzato un intervallo diverso in DATEPART:
- ‘d’ per ottenere il giorno e il risultato è stato 15.
- ‘h’ per ottenere le ore ma poiché non abbiamo l’ora nella data, il risultato è stato restituito 0.
- ‘m’ per ottenere il mese e il risultato è 1.
- ‘n’ per ottenere i minuti ma poiché non abbiamo l’ora nella data, il risultato è stato restituito 0.
- “q” per ottenere il quarto e il risultato è 1.
- ‘s’ per ottenere i secondi ma poiché non abbiamo tempo nella data, il risultato è stato restituito 0.
- ‘w’ per ottenere il giorno della settimana e restituisce 3.
- ‘ww’ per ottenere la settimana dell’anno ed è tornata 3.
- ‘y’ per ottenere il giorno dell’anno e restituisce 15.
- “aaaa” per ottenere l’anno e tornare al 2019.
Commenti
- Se viene fornita una data senza l’anno, verrà utilizzato l’anno corrente.
- Se il valore specificato è un valore diverso da una data o una data che non può essere riconosciuta come data, VBA restituirà l’errore di runtime 13.
- L’impostazione dell’argomento “primogiornodellasettimana” funziona solo quando l'”intervallo” è “w” o “ww”.