Excel VBA DatePart

Nehmen wir an, wir haben Daten in unseren Daten und wissen nicht, welche Woche oder welcher Teil des Monats es ist. Es gibt verschiedene Möglichkeiten, dies herauszufinden. In Excel gibt es einige komplexe Formeln, die wir ausführen müssen, um das zu finden. Wenn es zum Beispiel ein Datum gibt, 02. Februar 2019, ist die Berechnung, um das Quartal für dieses Datum in Excel zu ermitteln, komplex. VBA bietet uns jedoch eine sehr praktische Funktion namens DatePart, die solche Berechnungen für uns durchführt.

Ich habe oben erklärt, warum wir die DatePart-Funktion in VBA verwenden. Diese Funktion wird verwendet, um den Teil des Datums herauszufinden, sei es ein Tag, ein Monat, eine Woche, ein Quartal oder sogar Stunden oder Sekunden. Diese Funktion gibt die Ganzzahl als Ausgabe zurück. Um mehr über diese Funktion zu erfahren, gehen wir zunächst die Syntax dieser Funktion im Detail durch.

Syntax von DatePart in Excel VBA

Sehen wir uns die folgende Syntax für DatePart in Excel VBA an.

Wie wir sehen können, gibt es insgesamt vier Argumente für diese Funktion. Die ersten beiden Argumente sind obligatorisch, während die restlichen beiden Argumente optional sind. Wenn wir jedoch nicht die letzten beiden Argumente angeben, verfügt VBA über eigene Standardwerte.

  • Intervall: Dieses Argument wird als Zeichenfolge für diese Funktion bereitgestellt. Dieses Argument kann ein Monat, eine Woche, ein Jahr, ein Tag oder sogar eine Stunde oder Minuten oder Sekunden sein. Beispielsweise lautet die Syntax für ein Viertel „q“ oder für das Jahr „yyyy“ und so weiter.
  • Datum: Dies ist das Eingabedatum, das wir für diese Funktion bereitstellen, für deren Teil wir es herausfinden möchten.
  • FirstDayofWeek: Dies ist ein optionales Argument, das wir dieser Funktion geben. Wenn wir der Funktion jedoch nicht den ersten Wochentag zur Verfügung stellen, behandelt VBA den SONNTAG automatisch als den ersten Tag der Woche. Es gibt verschiedene Syntax für die Bereitstellung dieses Arguments:

vbUseSystem (Diese Syntax verwendet NLS API SETTING), vbSunday (Dies ist das Standardargument), vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday, vbSaturday (Alle diese Argumente müssen optional angegeben werden)

  • FirstWeekofYear: Dies ist auch ein optionales Argument für diese Funktion. Wenn wir dieses Argument jedoch nicht angeben, berücksichtigt VBA automatisch die erste Woche, unabhängig davon, welche Woche die erste vom 1. Januar ist. Auch für dieses Argument gibt es verschiedene Syntaxen:

vbUseSystem, vbFirstJan1 (Dies ist die Standardeinstellung), vbFirstFourDays (Dieses Argument beginnt mit der ersten Woche, die mindestens die ersten vier Tage im neuen Jahr enthält), vbFirstFullWeek (Dieses Argument beginnt mit der ersten vollen Woche des Jahres).

Nachdem wir die Funktionen und ihre Argumente kennengelernt haben, können wir diese Funktion anhand von Beispielen testen.

Wie Verwenden der DatePart-Funktion in Excel VBA?

Nachfolgend finden Sie verschiedene Beispiele für die Verwendung der DatePart-Funktion in Excel mit VBA-Code.

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

Excel VBA DatePart - Beispiel # 1

Nehmen wir eine Eingabe vom Benutzer als Datum und Teil, die der Benutzer herausfinden möchte, dann verwenden wir die DatePart-Funktion und zeigen das Ergebnis an.

Führen Sie die folgenden Schritte aus, um die DatePart-Funktion in Excel VBA zu verwenden:

Schritt 1: Klicken Sie auf der Registerkarte des Entwicklers im Codebereich auf Visual Basic, um zum VB-Editor zu gelangen.

Schritt 2: Fügen Sie im VB-Editor ein neues Modul in das VBA-Projekt ein (siehe Abbildung unten).

Schritt 3: Doppelklicken Sie nun auf das Modul und beginnen Sie mit der Deklaration einer neuen Unterprozedur, wie unten gezeigt.

Code:

 Sub Sample () End Sub 

Schritt 4: Definieren Sie drei Variablen, eine als String und Datum, die den Datumsteil und das Datum unserer Eingabe enthalten, und eine andere als Ganzzahl, die unsere Ausgabe speichert.

Code:

 Sub Sample () Dim Dt als Datum, Prt als String, Res als Integer End Sub 

Schritt 5: In der Datumsvariablen fragen Sie den Benutzer nach dem Eingabedatum.

Code:

 Sub Sample () Dim Dt als Datum, Prt als Zeichenfolge, Res als Ganzzahl Dt = InputBox ("Enter a Date") End Sub 

Schritt 6: In Prt, das Teil ist, nehmen Sie die Eingabe des Benutzers für den Datumsteil vor, den wir herausfinden müssen.

Code:

 Sub Sample () Dim Dt als Datum, Prt als Zeichenfolge, Res als Ganzzahl Dt = Eingabefeld ("Enter a Date") Prt = Eingabefeld ("Enter Date Part") End Sub 

Schritt 7: Lassen Sie uns nun in Variable Res, welches Ergebnis ist, das Ergebnis unter Verwendung der DatePart-Funktion wie folgt herausfinden.

Code:

 Sub Sample () Dim Dt als Datum, Prt als String, Res als Integer Dt = Eingabefeld ("Enter a Date") Prt = Eingabefeld ("Enter Date Part") Res = DatePart (Prt, Dt) End Sub 

Schritt 8: Zeigen Sie den in Res gespeicherten Wert mit der Funktion msgbox an.

Code:

 Sub Sample () Dim Dt als Datum, Prt als Zeichenfolge, Res als Ganzzahl Dt = Eingabefeld ("Enter a Date") Prt = Eingabefeld ("Enter Date Part") Res = DatePart (Prt, Dt) 

Schritt 9: Lassen Sie uns nun den obigen Code ausführen, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken und ein Datum wie folgt eingeben.

Schritt 10: Geben Sie den Datumsteilwert ein.

Schritt 11: Drücken Sie OK, um das unten gezeigte Ergebnis anzuzeigen.

Als Ergebnis erhalten wir 1, wenn das Datum, das wir als Eingabe angegeben haben, in das erste Quartal des Jahres fällt.

Excel VBA DatePart - Beispiel # 2

Dieses Mal geben wir das Datum direkt in die Funktion im Code ein. Führen Sie die folgenden Schritte aus, um die DatePart-Funktion in Excel VBA zu verwenden:

Schritt 1: Definieren Sie im selben Modul eine andere Unterprozedur wie unten gezeigt.

Code:

 Sub Sample1 () End Sub 

Schritt 2: Definieren Sie eine Variable als Ganzzahl und eine Variable als Datum (siehe unten).

Code:

 Sub Sample1 () Dim Dt As Date, Res As Integer End Sub 

Schritt 3: Geben Sie ein Datum für die Variable ein.

Code:

 Sub Sample1 () Dim Dt als Datum, Res As Integer Dt = # 2/2/2019 # End Sub 

Schritt 4: Lassen Sie uns in der Variablen Res die Woche des Datums mit der Funktion DatePart berechnen.

Code:

 Sub Sample1 () Dim Dt als Datum, Res As Integer Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Schritt 5: Zeigen Sie den in der Variablen gespeicherten Wert mit der Funktion msgbox an.

Code:

 Sub Sample1 () Dim Dt als Datum, Res As Integer Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Schritt 6: Führen Sie den obigen Code aus, indem Sie die Taste F5 drücken oder auf die Schaltfläche Wiedergabe klicken, um das folgende Ergebnis zu erhalten.

Das Datum, das wir als Eingabe angegeben haben, liegt in der fünften Woche des Jahres.

Excel VBA DatePart - Beispiel # 3

Versuchen wir ein reales Beispiel. In Blatt 1 in Zelle A1 habe ich die Formel = Now () verwendet, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen, und wir werden den Datumsteil für diese Zelle herausfinden.

Führen Sie die folgenden Schritte aus, um die DatePart-Funktion in Excel VBA zu verwenden:

Schritt 1: Definieren Sie im selben Modul wie folgt eine weitere Unterprozedur.

Code:

 Sub Sample2 () End Sub 

Schritt 2: Definieren Sie zwei Variablen als Datum und eine weitere als Ganzzahl.

Code:

 Sub Sample2 () Dim Dt As Date, Res As Integer End Sub 

Schritt 3: In der Variablen Dt store ist der Wert der Zelle A1 wie folgt.

Code:

 Sub Sample2 () Dim Dt als Datum, Res As Integer Dt = Bereich ("A1"). Value End Sub 

Schritt 4: Lassen Sie uns nun in der Variablen res den Wochenanteil für die Eingabe mit der Funktion DatePart berechnen.

Code:

 Sub Sample2 () Dim Dt als Datum, Res As Integer Dt = Bereich ("A1"). Wert Res = DatePart ("ww", Dt) End Sub 

Schritt 5: Zeigen Sie den in der Variablen gespeicherten Wert mit der Funktion Msgbox an.

Code:

 Sub Sample2 () Dim Dt als Datum, Res As Integer Dt = Bereich ("A1"). Wert Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Schritt 6: Führen Sie den obigen Code aus, indem Sie die Taste F5 drücken oder auf die Schaltfläche Wiedergabe klicken, um das folgende Ergebnis zu erhalten.

Das aktuelle Datum ist der 25. Juli, also die 30. Woche des Jahres 2019.

Dinge, an die man sich erinnern sollte

  • Es ist eine Datumsfunktion, die jedoch einen ganzzahligen Wert zurückgibt.
  • Die ersten beiden Argumente sind obligatorisch, während die restlichen beiden Argumente optional sind.
  • VBA hat seine eigenen Standardargumente, wenn die letzten beiden Argumente für die DatePart-Funktion nicht angegeben werden.
  • Diese Funktion ist eine VBA-Funktion und keine Arbeitsblattfunktion.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA DatePart. Hier wird die Verwendung der DatePart-Funktion in Excel unter Verwendung von VBA-Code zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA DateAdd
  2. HEUTE Formel in Excel
  3. VBA-Datumsfunktion
  4. JETZT Excel-Funktion
  5. Wie verwende ich das VBA-Datumsformat in Excel?
  6. Wo Code in VBA schreiben?

Kategorie: