Funzione DatePart VBA - Come restituire la parte specificata della data?

Funzione DatePart di Excel VBA

DatePart in VBA viene utilizzato per identificare la parte della data per la data specificata fornita come argomento, la parte della data può essere giorni o mesi o anno o anche l'ora, i minuti e i secondi, la sintassi di questa funzione si chiarisce molto e è il seguente, Datepart (Interval, Date as Argument).

Sintassi

Di seguito viene fornita la sintassi della funzione DatePart:

  • Intervallo: i dati da passare in un argomento intervallo sono di tipo stringa, il che significa che questo argomento può contenere qualsiasi valore valido al suo interno. L'intervallo può essere anno, mese, trimestre, giorno, settimana, ora, minuto, secondo.
  • Data: il valore della data che deve essere valutato.
  • firstdayofweek: questo è un parametro opzionale. Questo descrive il primo giorno della settimana. Questo può anche essere ignorato. Se questo parametro viene ignorato, assume automaticamente la domenica come primo giorno della settimana. Se si desidera modificarlo, è possibile utilizzare questo parametro. Questo argomento può essere costituito da vbUseSystem 0.

Usa l'impostazione dell'API NLS

vbSunday (predefinito), vbMonday, vbTuesday, vbWed Wednesday, vbTh Thursday vbFriday, vbSaturday.
  • firstweekofyear: allo stesso modo, il parametro top, anche questo è un parametro opzionale. Questo descrive la prima settimana dell'anno. Questo parametro può anche essere ignorato. Se questo parametro viene ignorato, si presume che il 1 ° gennaio sia la prima settimana dell'anno. Se si desidera modificarlo, è possibile utilizzare questo parametro.
    Questo argomento può essere costituito dai seguenti valori.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Dopo aver fornito tutti i parametri, datepart () restituirà il valore numerico come l'intera data o anno o mese o trimestre, ecc. Quindi il tipo di ritorno di questa funzione sarà un valore numerico.

Come utilizzare la funzione DatePart in VBA?

Esempio 1

Il primo esempio è visualizzare anche la data completa e il trimestre di quel mese.

Per ottenere ciò, è necessario scrivere del codice in Visual Basic per quella scheda Goto Developer e quindi fare clic su Visual Basic, quindi si aprirà una finestra.

In quella finestra, scrivi il codice come mostrato di seguito.

Codice:

Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'visualizza trimestre End Sub

In questo esempio, abbiamo utilizzato la funzione datepart per visualizzare la data e una parte della data che è un quarto della data. Questo mostra in quale trimestre dell'anno è la data di arrivo.

Se eseguiamo il debug del codice, la data verrà visualizzata come una data completa la prima volta quando il codice esegue "Msgbox mydate" perché la data casuale è assegnata alla variabile "mydate".

Successivamente, stiamo visualizzando in quale trimestre dell'anno rientra quella data.

Quando si esegue il codice manualmente o utilizzando il tasto di scelta rapida F5, la data verrà visualizzata come mostrato dopo aver fatto clic su ok. Successivamente, verrà visualizzato il quarto della data. Questo può essere mostrato nello screenshot qui sotto.

Allo stesso modo, è possibile visualizzare Trimestre, solo la data o il mese o l'anno.

Esempio n. 2

In questo esempio, inserirò la data manualmente in fase di esecuzione.

Codice:

Sub date1_datePart () Dim TodayDate As Date 'Dichiarare le variabili. Dim Msg TodayDate = InputBox ("Immettere una data:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

In questo esempio, stiamo cercando di ottenere la data manualmente in fase di esecuzione. Il codice "TodayDate = InputBox (" Enter a date: ")" questa riga indica che la data può essere inserita manualmente,

Dopo aver inserito la data manualmente, visualizza il trimestre della data in una finestra di messaggio. Questo può essere mostrato nello screenshot qui sotto.

Poiché il mese di giugno è nel 2 ° trimestre, viene visualizzato il 2 ° trimestre, come mostrato nell'immagine sopra.

Esempio n. 3

In questo esempio, tutti i valori verranno inseriti nelle celle.

Codice:

Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hour (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub

The dates are filled in the cells in the excel sheet, for that the code is written as Active Sheet.cells. By this code, the date which is present maybe a year, month, or date can be inserted into the given cells.

For example, in the above screenshot,

The day is to be inserted in the cells ( 2, 2) of the excel sheet. Hence the code is written as “ ActiveSheet.Cells(2, 2).Value = Day(DummyDate) “ .

Run the code using the F5 key or manually, and the result would be as shown below.

It is, by default taking date today, and it is displaying as 30 in (2,6) cell.

Likewise, for all the other data also it can be filled.

Usage of DatePart Function

  • DatePart function can be used to display the part of the date as the name indicates, i.e., if only day or month or year of the date needs to be displayed, then this function can be used.
  • Questa funzione separa anche la data, il mese e un anno da una data particolare.
  • Utilizzando questa funzione, la data non viene solo separata. Possiamo anche ottenere il quarto, il giorno, l'ora, i minuti e un secondo.

Cose da ricordare

  • Questa funzione può essere utilizzata solo come funzione VBA. In Excel normale, questo non può essere utilizzato.
  • Le date fornite come valore in questa funzione possono essere fornite in qualsiasi formato come mm-gg-aaaa o GG-MM-AAAA ecc.
  • Questa funzione separerà tutti i valori separatamente, come data, mese, anno o ora anche un'ora, minuti, secondi.
  • Questo è organizzato in Funzioni data e ora in VBA di Microsoft Excel.

Articoli interessanti...