VBA DateSerial

Excel VBA DateSerial-Funktion

Die DateSerial-Funktion in VBA gibt das Datum aus den von den Benutzern angegebenen Werten zurück. Wir müssen liefern, was das Jahr ist, was der Tag ist und was der Monat ist. Das Ergebnis basiert auf dem Datumsformat Ihres Systems.

Unten finden Sie die Syntax der DATESERIAL-Funktion .

# 1 - Jahr: Wir müssen die Ganzzahl als das Jahr eingeben? Bei der Angabe einer Ganzzahl müssen wir die folgenden Punkte berücksichtigen.

  • Wir können Nummern von 0 bis 9999 liefern.
  • Ein- und zweistellige Zahlen von 0 bis 99 werden von 1930 bis 2029 behandelt.
  • Die negative Ganzzahl wird vom Jahr 2000 abgezogen. Wenn Sie beispielsweise -1 angeben, ist das Ergebnis 1999 aufgrund von 2000 - 1 = 1999.

# 2 - Monat: Wir müssen die Ganzzahl als Monat eingeben. Bei der Eingabe dieser Nummer müssen wir die folgenden Punkte berücksichtigen.

  • Wir können nur Nummern von 1 bis 12 liefern.
  • Wenn der angegebene ganzzahlige Wert 0 ist, entspricht dies dem Monat „Dezember“ des Vorjahres.
  • Wenn der angegebene ganzzahlige Wert -1 ist, entspricht dies dem Monat „November“ des Vorjahres. Wenn der negative Wert steigt, repräsentiert er weiterhin den rückständigen Jahresmonat.
  • Wenn die angegebene Nummer mehr als 12 beträgt, dh wenn die Nummer 13 ist, entspricht dies dem Monat „Januar“ des folgenden Jahres. Wenn die Nummer 14 ist, wird sie als der Monat „Februar“ des folgenden Jahres behandelt.

# 3 - Tag: Wir müssen die Ganzzahl als Tag eingeben. Bei der Eingabe dieser Nummer müssen wir die folgenden Punkte berücksichtigen.

  • Wir können ganzzahlige Zahlen von 1 bis 31 für aktuelle Monatstage eingeben.
  • Wenn die Zahl 0 ist, wird der letzte Tag des Vormonats dargestellt.
  • Wenn die Zahl -1 ist, repräsentiert dies den vorletzten Tag des Vormonats.
  • Wenn Sie den letzten Tag dieses Monats +1 angeben, entspricht dies dem ersten Tag des folgenden Monats. Wenn beispielsweise der letzte Tag im August der 31. ist und Sie den Tag als 31 + 1 angeben, wird der erste Tag im September dargestellt.

Wie verwende ich die DATESERIAL-Funktion in VBA?

Sie können diese VBA DateSerial Excel-Vorlage hier herunterladen - VBA DateSerial Excel-Vorlage

Beispiel 1

Um die DATESERIAL-Funktion zu verwenden, schreiben Sie den Makrocode.

Schritt 1: Unterprozedur starten

Erstellen Sie zunächst eine VBA-Unterprozedur wie unten gezeigt.

Schritt 2: Variable deklarieren

Deklarieren Sie nun eine Variable als DATE.

Schritt 3: Weisen Sie dieser Variablen die DateSerial-Funktion zu.

Weisen Sie dieser Variablen nun die Funktion DATESERIAL zu.

Schritt 4: Geben Sie nun die Werte für Jahr, Monat und Tag in die DateSerial-Funktion ein

Für JAHR Versorgung 2019, für MONAT Versorgung 08 und für TAG Versorgung 05.

Schritt 5: Ergebnis im Meldungsfeld anzeigen

Zeigen Sie nun das Ergebnis der Variablen "Mein Datum" im Meldungsfeld an.

Code:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub 

Schritt 6: Führen Sie den Code aus

Führen Sie nun diesen Code aus, um das Datum unter dem Datum anzuzeigen.

Ergebnis sagt "8/5/2019". In meinem System hat das Datumsformat die Form „MM-TT-JJJJ“, daher hat das Ergebnis auch das gleiche Format.

Wir können das Format des Datums auch mithilfe der FORMAT-Funktion in VBA ändern. Wenden Sie die FORMAT-Funktion wie folgt an.

Code:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox-Format (Mydate, "TT-MMM-JJJJ") End Sub 

Dadurch wird das Format in „TT-MMM-JJJJ“ angewendet und das Ergebnis ist wie folgt.

Beispiel 2

Wir können auch Variablen deklarieren und diese Variablen mit Werten versorgen. Ein Beispiel finden Sie im folgenden Code.

Code:

 Sub DateSerial_Example2 () Dim Mydate As Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox-Format (Mydate, "TT-MMM-JJJJ ") End Sub 

Anstatt Jahr, Monat und Tag direkt an die DATESERIAL-Funktion zu liefern, haben wir Variablen deklariert und ihnen Werte zugewiesen. Später haben wir dann Variablen für die DATESERIAL-Funktion bereitgestellt.

Auf diese Weise können wir Variablen in VBA verwenden, um Werte zu speichern.

Beispiel 3

Jetzt werden wir mit dem Jahr experimentieren. Ich werde den Jahreswert als 1 zuweisen und das Ergebnis sehen.

Ein- und zweistellige Zahlen in JAHR stehen für ein Jahr von 1930 bis 2029. 01 bedeutet also 2001, 02 bedeutet 2002 und so weiter.

Lassen Sie uns nun die Monatszahl auf 0 ändern und das Ergebnis sehen.

Schauen Sie sich den Code hier an: Jahr ist 2019 und Monat ist 0. Sehen Sie sich jedoch das Ergebnis an, auf dem der 05. Dezember 2019 steht, während ein geliefertes Jahr 2019 ist, dh 2018, dh das Vorjahr.

Dies liegt daran, dass die Funktion DATESERIAL den Monat bis zum letzten Monat des Vorjahres benötigt und das Jahr auch entsprechend ändert, da wir den Monat als 0 angegeben haben.

Versuchen Sie auf diese Weise verschiedene Zahlen, um die Auswirkungen der Funktion zu sehen.

Dinge, an die man sich erinnern sollte

  • Sie müssen wissen, welche Zahl für welches Jahr, welchen Monat und welche Kindertagesstätte steht. Lesen Sie die Syntaxerklärung sorgfältig durch, um sie zu verstehen.
  • Das Ergebnis basiert auf dem Datumsformat Ihres Systems. Wenn Sie ein geändertes Ergebnis wünschen, müssen Sie die FORMAT-Funktion anwenden und das Datumsformat nach Ihren Wünschen angeben.