VBA DatePart Funktion - Wie kann ich einen bestimmten Teil des Datums zurückgeben?

Inhaltsverzeichnis

Excel VBA DatePart-Funktion

DatePart in VBA wird verwendet, um den Teil des Datums für das angegebene Datum als Argument zu identifizieren. Der Datumsteil kann entweder Tage oder Monate oder Jahr oder sogar die Stunde Minuten und Sekunden sein. Die Syntax dieser Funktion verdeutlicht sich sehr und Es ist wie folgt: Datumsteil (Intervall, Datum als Argument).

Syntax

Die Syntax der DatePart-Funktion ist unten angegeben:

  • Intervall: Die Daten, die in einem Intervallargument übergeben werden sollen, sind ein Zeichenfolgentyp. Dies bedeutet, dass dieses Argument beliebige gültige Werte enthalten kann. Das Intervall kann Jahr, Monat, Quartal, Tag, Woche, Stunde, Minute, Sekunde sein.
  • Datum: Der Datumswert, der ausgewertet werden muss.
  • firstdayofweek: Dies ist ein optionaler Parameter. Dies beschreibt den ersten Tag der Woche. Dies kann sogar ignoriert werden. Wenn dieser Parameter ignoriert wird, wird automatisch der Sonntag als erster Tag der Woche verwendet. Wenn Sie dies ändern möchten, kann dieser Parameter verwendet werden. Dieses Argument kann aus vbUseSystem 0 bestehen.

Verwenden Sie die NLS-API-Einstellung

vbSunday (Standard), vbMontag, vbDienstag, vbMittwoch, vbDonnerstag vbFreitag, vbSamstag.
  • erste Woche des Jahres: Ebenso ist der oberste Parameter ein optionaler Parameter. Dies beschreibt die erste Woche des Jahres. Dieser Parameter kann auch ignoriert werden. Wenn dieser Parameter ignoriert wird, wird davon ausgegangen, dass der 1. Januar die erste Woche des Jahres ist. Wenn Sie dies ändern möchten, kann dieser Parameter verwendet werden.
    Dieses Argument kann aus den folgenden Werten bestehen.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Nachdem Sie alle Parameter angegeben haben, gibt datepart () den numerischen Wert zurück, z. B. das gesamte Datum oder Jahr oder den Monat oder das Quartal usw. Daher ist der Rückgabetyp dieser Funktion ein numerischer Wert.

Wie verwende ich die DatePart-Funktion in VBA?

Beispiel 1

Das erste Beispiel besteht darin, das vollständige Datum und das Quartal dieses Monats anzuzeigen.

Um dies zu erreichen, müssen wir in Visual Basic Code für diese Registerkarte "Gehe zu Entwickler" schreiben und dann auf Visual Basic klicken. Daraufhin wird ein Fenster geöffnet.

Schreiben Sie in dieses Fenster den Code wie unten gezeigt.

Code:

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

In diesem Beispiel haben wir die Datepart-Funktion verwendet, um das Datum und einen Teil des Datums anzuzeigen, der ein Viertel des Datums ist. Hier wird angezeigt, in welches Quartal des Jahres das Datum eingeht.

Wenn wir den Code debuggen, wird das Datum zum ersten Mal als vollständiges Datum angezeigt, wenn der Code "Msgbox mydate" ausführt, da das zufällige Datum der Variablen "mydate" zugewiesen ist.

Als nächstes zeigen wir an, unter welches Quartal des Jahres dieses Datum fällt.

Wenn Sie den Code manuell ausführen oder die Tastenkombination F5 verwenden, wird das Datum wie angezeigt angezeigt, nachdem Sie auf OK geklickt haben. Als nächstes wird das Viertel des Datums angezeigt. Dies kann im folgenden Screenshot gezeigt werden.

Ebenso kann Quartal, nur Datum oder Monat oder Jahr angezeigt werden.

Beispiel 2

In diesem Beispiel gebe ich das Datum zur Laufzeit manuell ein.

Code:

Sub date1_datePart () Dim TodayDate As Date 'Variablen deklarieren. Dim Msg TodayDate = InputBox ("Geben Sie ein Datum ein:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

In diesem Beispiel versuchen wir, das Datum zur Laufzeit manuell abzurufen. Der Code "TodayDate = InputBox (" Enter a date: ")" in dieser Zeile zeigt an, dass das Datum manuell eingegeben werden kann.

After entering the date manually, it displays the Quarter of the Date in a message Box. This can be shown in the below screenshot.

As the June month is in the 2nd quarter, this displays the 2nd Quarter, as shown in the above screenshot.

Example #3

In this example, all the values will be filled up in the cells.

Code:

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.
  • Diese Funktion trennt auch Datum, Monat und ein Jahr von einem bestimmten Datum.
  • Mit dieser Funktion wird das Datum nicht nur getrennt. Wir können auch das Viertel, den Tag, die Stunde, die Minute und eine Sekunde erhalten.

Dinge, an die man sich erinnern sollte

  • Diese Funktion kann nur als VBA-Funktion verwendet werden. Im normalen Excel kann dies nicht verwendet werden.
  • Die Daten, die in dieser Funktion als Wert angegeben werden, können in jedem Format angegeben werden, z. B. im Format MM-TT-JJJJ oder TT-MM-JJJJ usw.
  • Diese Funktion trennt alle Werte separat, z. B. Datum, Monat, Jahr oder Uhrzeit, auch eine Stunde, Minute, Sekunden.
  • Dies ist unter Datums- und Zeitfunktionen in VBA von Microsoft Excel organisiert.

Interessante Beiträge...