Rückkehr in VBA-Code-Beispiele

VBA – Datumsfunktionen

In diesem Tutorial werden wir die verschiedenen eingebauten VBA-Datumsfunktionen behandeln.

VBA – Date-Funktion

Sie können die Date-Funktion verwenden, um das aktuelle Datum zu ermitteln.

Die Syntax der Date-Funktion lautet Date(). Sie hat keine Argumente.

Der folgende Code zeigt Ihnen, wie Sie die Date-Funktion verwenden können:

Sub VerwendungDateFunktion()

Dim dasDatum As Date
dasDatum = Date()

Debug.Print dasDatum

End Sub

Das Ergebnis, das im Direktfenster angezeigt wird, lautet:

verwendung date funktion vba

VBA – Now-Funktion

Sie können die Now-Funktion verwenden, um das aktuelle Datum und die aktuelle Uhrzeit zu ermitteln.

Die Syntax der Now-Funktion lautet Now(). Sie hat keine Argumente.

Der folgende Code zeigt Ihnen, wie Sie die Now-Funktion verwenden können:

Sub VerwendungNowFunktion()

Dim dasDatum As Date
dasDatum = Now()

Debug.Print dasDatum

End Sub

Das Ergebnis ist:

verwendung now funktion vba

VBA – Time-Funktion

Mit der Time-Funktion können Sie die aktuelle Uhrzeit zurückgeben.

Die Syntax der Time-Funktion lautet Time(). Sie hat keine Argumente.

Der folgende Code zeigt Ihnen, wie Sie die Time-Funktion verwenden können:

Sub VerwendungTimeFunktion()

Dim dieUhrzeit As Date
dieUhrzeit = Time()

Debug.Print dieUhrzeit

End Sub

Das Ergebnis ist:

verwendung time funktion vba

VBA – DateAdd-Funktion

Sie können die DateAdd-Funktion verwenden, um ein Datums- bzw. Zeitintervall zu einem Datum oder einer Uhrzeit hinzuzufügen und die Funktion gibt das resultierende Datum bzw. die resultierende Uhrzeit zurück.

Die Syntax der DateAdd-Funktion lautet:

DateAdd(Intervall, Zahl, Datum) wobei:

  • Intervall: Eine Zeichenfolge, die den Typ des zu verwendenden Intervalls angibt. Das Intervall kann einem der folgenden Werte entsprechen:

„d“ – Tag

ww“ – Woche

„w“ – Wochentag

„m“ – Monat

„q“ – Quartal

„jjjj“ – Jahr

„y“ – Tag des Jahres

„h“ – Stunde

„n“ – Minute

„s“ – Sekunde

  • Zahl: Die Anzahl der Intervalle, die Sie zum ursprünglichen Datum/Uhrzeit hinzufügen möchten.
  • Datum: Das ursprüngliche Datum/die ursprüngliche Uhrzeit.

Hinweis: Wenn Sie Datumsangaben in Ihrem Code verwenden, müssen Sie sie mit # oder Anführungszeichen umgeben.

Der folgende Code zeigt, wie man die DateAdd-Funktion verwendet:

Sub VerwendungDateAddFunktion()

Dim spaeteresDatum As Date

spaeteresDatum = DateAdd("m", 10, "11/12/2019")

Debug.Print spaeteresDatum

End Sub

Das Ergebnis ist:

verwendung dateadd funktion vba

VBA – DateDiff-Funktion

Sie können die DateDiff-Funktion verwenden, um die Differenz zwischen zwei Datumsangaben auf der Grundlage eines bestimmten Zeitintervalls zu ermitteln.

Die Syntax der DateDiff-Funktion lautet:

DateDiff(Intervall, Datum1, Datum2, [ErsterTagderWoche], [ErsteWochedesJahres]) wobei:

  • Intervall: Eine Zeichenfolge, die den Typ des zu verwendenden Intervalls angibt. Das Intervall kann einem der folgenden Werte entsprechen:

„d“ – Tag

„ww“ – Woche

„w“ – Wochentag

„m“ – Monat

„q“ – Quartal

„jjjj“ – Jahr

„y“ – Tag des Jahres

„h“ – Stunde

„n“ – Minute

„s“ – Sekunde

  • Datum1: Ein Datumswert, der das frühere Datum darstellt.
  • Datum2: Ein Datumswert, der das spätere Datum darstellt.
  • ErsterTagderWoche(Optional): Eine Konstante, die den Wochentag angibt, den die Funktion als ersten Tag der Woche verwenden soll. Wenn sie leer ist, wird der Sonntag als erster Wochentag verwendet. Der erste Wochentag kann einem der folgenden Werte entsprechen:

-vbSunday – verwendet den Sonntag als ersten Tag der Woche.

-vbMonday – verwendet Montag als ersten Tag der Woche.

-vbTuesday – verwendet Dienstag als ersten Tag der Woche.

-vbWednesday – verwendet Mittwoch als ersten Tag der Woche.

-vbThursday – verwendet Donnerstag als ersten Tag der Woche.

-vbFriday – verwendet Freitag als ersten Tag der Woche.

-vbSaturday – verwendet Samstag als ersten Tag der Woche.

-vbUseSystemDayOfTheWeek – verwendet den ersten Tag der Woche, der durch die Einstellungen Ihres Systems festgelegt ist.

  • ErsteWochedesJahres (Optional): Eine Konstante, die die erste Woche des Jahres angibt. Wenn sie leer ist, wird die 1. Januarwoche als erste Woche des Jahres verwendet. Die erste Woche des Jahres kann einem der folgenden Werte entsprechen:

-vbFirstJan1 – verwendet die Woche, die den 1. Januar enthält.

-vbFirstFourDays – verwendet die erste Woche, die mindestens vier Tage aus dem neuen Jahr enthält.

-vbFirstFullWeek – verwendet die erste volle Woche des Jahres.

-vbSystem – verwendet die erste Woche des Jahres, wie in den Systemeinstellungen angegeben.

Der folgende Code zeigt Ihnen, wie Sie die DateDiff-Funktion verwenden können:

Sub VerwendungDateDiffFunktion()
 
Dim dieDifferenzZwischenZweiDaten As Long
 
dieDifferenzZwischenZweiDaten = DateDiff("q", "11/11/2010", "10/12/2012")
 
Debug.Print dieDifferenzZwischenZweiDaten
 
End Sub

Das Ergebnis ist:

verwendung datediff funktion vba

VBA – DatePart-Funktion

Sie können die DatePart-Funktion verwenden, um einen Teil (Tag, Woche, Quartal, Monat usw.) eines bestimmten Datums zurückzugeben.

Die Syntax der DatePart-Funktion lautet: DatePart(Intervall, Datum,[ErsterTagderWoche], [ErsteWochedesJahres]) wobei:

  • Intervall: Eine Zeichenkette, die den Teil des Datums angibt, der zurückgegeben werden soll. Das Intervall kann einem der folgenden Werte entsprechen:

„d“ – Tag

„ww“ – Woche

„w“ – Wochentag

„m“ – Monat

„q“ – Quartal

„jjjj“ – Jahr

„y“ – Tag des Jahres

„h“ – Stunde

„n“ – Minute

„s“ – Sekunde

  • Datum: Das Datum, von dem die Funktion einen Teil zurückgeben soll.
  • ErsterTagderWoche (Optional): Eine Konstante, die den Wochentag angibt, den die Funktion als ersten Tag der Woche verwenden soll. Wenn sie leer ist, wird der Sonntag als erster Wochentag verwendet. Der erste Wochentag kann einem der folgenden Werte entsprechen:

-vbSunday – verwendet den Sonntag als ersten Tag der Woche.

-vbMonday – verwendet Montag als ersten Tag der Woche.

-vbTuesday – verwendet Dienstag als ersten Tag der Woche.

-vbWednesday – verwendet Mittwoch als ersten Tag der Woche.

-vbThursday – verwendet Donnerstag als ersten Tag der Woche.

-vbFriday – verwendet Freitag als ersten Tag der Woche.

-vbSaturday – verwendet Samstag als ersten Tag der Woche.

-vbUseSystemDayOfTheWeek – verwendet den ersten Tag der Woche, der durch die Einstellungen Ihres Systems festgelegt ist.

  • ErsteWochedesJahres (Optional): Eine Konstante, die die erste Woche des Jahres angibt. Wenn sie leer ist, wird die 1. Januarwoche als erste Woche des Jahres verwendet. Die erste Woche des Jahres kann einem der folgenden Werte entsprechen:

-vbFirstJan1 – verwendet die Woche, die den 1. Januar enthält.

-vbFirstFourDays – verwendet die erste Woche, die mindestens vier Tage aus dem neuen Jahr enthält.

-vbFirstFullWeek – verwendet die erste volle Woche des Jahres.

-vbSystem – verwendet die erste Woche des Jahres, wie in den Systemeinstellungen angegeben.

Der folgende Code zeigt Ihnen, wie Sie die DatePart-Funktion verwenden können:

Sub VerwendungDatePartFunktion()

Dim derTeilVomDatum As Integer

derTeilVomDatum = DatePart("yyyy", "12/12/2009")

Debug.Print derTeilVomDatum

End Sub

Das Ergebnis ist:

verwendung datepart funktion vba

VBA – DateSerial-Funktion

Die VBA DateSerial-Funktion nimmt eine Eingabe von Jahr, Monat und Tag und gibt ein Datum zurück.

Die Syntax der DateSerial-Funktion lautet:

DateSerial(Jahr, Monat, Tag) wobei:

  • Jahr: Ein ganzzahliger Wert zwischen 100 und 9999, der das Jahr angibt.
  • Monat: Ein ganzzahliger Wert, der den Monat angibt.
  • Tag: Ein ganzzahliger Wert, der für den Tag steht.

Der folgende Code zeigt Ihnen, wie Sie die DateSerial-Funktion verwenden können:

Sub VerwendungDateSerialFunktion()

Dim dasDatum As Date

dasDatum = DateSerial(2010, 11, 10)

Debug.Print dasDatum

End Sub

Das Ergebnis ist:

verwendung dateserial funktion vba

VBA – DateValue-Funktion

Die DateValue-Funktion gibt ein Datum zurück, wenn eine Zeichenkette als Datum angegeben wird.

Die Syntax der DateValue-Funktion lautet:

DateValue(Datum) wobei:

  • Datum: Eine Textzeichenkette, die das Datum darstellt.

Der folgende Code zeigt Ihnen, wie Sie die DateValue-Funktion verwenden können:

Sub VerwendungDateValueFunktion()

Dim dasDatum As Date

dasDatum = DateValue("October, 29, 2010")

Debug.Print dasDatum

End Sub

Das Ergebnis ist:

verwendung datevalue funktion vba

VBA – Day-Funktion

Sie können die Day-Funktion verwenden, um den Tag eines Eingabedatums zu ermitteln.

Die Syntax der Day-Funktion lautet:

Day(Datumswert) wobei:

  • Datumswert: Das Datum, aus dem Sie den Tag extrahieren möchten.

Der folgende Code zeigt Ihnen, wie Sie die Day-Funktion verwenden können:

Sub VerwendungDayFunktion()

Dim derTag As Integer

derTag = Day("10/12/2010")

Debug.Print derTag

End Sub

Das Ergebnis ist:

verwendung day funktion vba

VBA – Hour-Funktion

Mit der Hour-Funktion können Sie die Stunde einer eingegebenen Uhrzeit zurückgeben.

Die Syntax der Hour-Funktion lautet:

Hour(Uhrzeit) wobei:

  • Uhrzeit: Die Uhrzeit, aus der Sie die Stunde extrahieren möchten.

Der folgende Code zeigt Ihnen, wie Sie die Hour-Funktion verwenden können:

Sub VerwendungHourFunktion()
 
Dim dieStunde As Integer

dieStunde = Hour("2:14:17 AM")

Debug.Print dieStunde

End Sub

Das Ergebnis ist:

verwendung hour funktion vba

VBA – Minute-Funktion

Sie können die Minute-Funktion verwenden, um den Minutenwert einer Eingabezeit zurückzugeben.

Die Syntax der Minute-Funktion lautet:

Minute(Eingabezeit) wobei:

  • Eingabezeit – Die Uhrzeit, aus der Sie den Minutenwert extrahieren möchten.

Der folgende Code zeigt Ihnen, wie Sie die Minute-Funktion verwenden können:

Sub VerwendungMinuteFunktion()
 
Dim derMinutenWert As Integer

derMinutenWert = Minute("2:14:17 AM")

Debug.Print derMinutenWert

End Sub

Das Ergebnis ist:

verwendung minute funktion vba

VBA – Second-Funktion

Sie können die Second-Function verwenden, um den Sekundenwert einer Eingabezeit zurückzugeben.

Die Syntax der Second-Funktion lautet:

Second(Eingabezeit) wobei:

  • Eingabezeit – Die Uhrzeit, aus der Sie den Sekundenwert extrahieren möchten.

Der folgende Code zeigt Ihnen, wie Sie die Second-Funktion verwenden können:

Sub VerwendungSecondFunktion()
 
Dim derSekundeWert As Integer

derSekundeWert = Second("2:14:17 AM")

Debug.Print derSekundeWert

End Sub

Das Ergebnis ist:

verwendung second funktion vba

VBA – Month-Funktion

Sie können die Month-Funktion verwenden, um den Monat eines Eingabedatums zu ermitteln.

Die Syntax der Monatsfunktion lautet:

Monat(Datumswert) wobei:

  • Datumswert: Das Datum, aus dem Sie den Monat extrahieren möchten.

Der folgende Code zeigt Ihnen, wie Sie die Month-Funktion verwenden können:

Sub VerwendungMonthFunktion()
 
Dim derMonat As Integer

derMonat = Month("11/18/2010")
Debug.Print derMonat

End Sub

Das Ergebnis ist:

verwendung month funktion vba

VBA – MonthName-Funktion

Sie können die MonthName-Funktion verwenden, um den Namen eines Monats aus einer eingegebenen Monatsnummer zu ermitteln.

Die Syntax der Funktion Monatsname lautet:

MonthName(MonatsNummer, [Abkürzung]) wobei:

  • MonatsNummer: Ein ganzzahliger Wert zwischen 1 und 12.
  • Abkürzung (Optional): Gibt an, ob der Monatsname abgekürzt werden soll. Wenn das Feld leer ist, wird der Standardwert „False“ verwendet.
Sub VerwendungMonthNameFunktion()
 
Dim derMonatsName As String

derMonatsName = MonthName(12, True)
Debug.Print derMonatsName

End Sub

Das Ergebnis ist:

verwendung monthname funktion vba

VBA – TimeSerial-Funktion

Die TimeSerial-Funktion nimmt eine Eingabe der Stunde, Minute und Sekunde und gibt eine Zeit zurück.

Die Syntax der TimeSerial-Funktion lautet:

TimeSerial(Stunde, Minute, Sekunde) wobei:

  • Stunde: Ein ganzzahliger Wert zwischen 0 und 23, der den Stundenwert darstellt.
  • Minute: Ein ganzzahliger Wert zwischen 0 und 59, der den Minutenwert darstellt.
  • Sekunde: Ein ganzzahliger Wert zwischen 0 und 59, der den Sekundenwert darstellt.

Der folgende Code zeigt Ihnen, wie Sie die TimeSerial-Funktion verwenden können:

Sub VerwendungTimeSerialFunktion()

Dim dieUhrzeit As Date
dieUhrzeit = TimeSerial(1, 10, 15)

Debug.Print dieUhrzeit

End Sub

Das Ergebnis ist:

verwendung timeserial funktion vba

VBA – TimeValue-Funktion

Die TimeValue-Funktion gibt eine Zeit aus einer String-Darstellung eines Datums oder einer Uhrzeit zurück.

Die Syntax der TimeValue-Funktion lautet:

TimeValue(Uhrzeit) wobei:

  • Uhrzeit: Eine Textzeichenkette, die die Uhrzeit angibt.

Der folgende Code zeigt Ihnen, wie Sie die TimeValue-Funktion verwenden können:

Sub VerwendungTimeValueFunktion()

Dim dieUhrzeit As Date
dieUhrzeit = TimeValue("22:10:17")

Debug.Print dieUhrzeit

End Sub

Das Ergebnis ist:

verwendung timevalue funktion vba

VBA – WeekDay-Funktion

Mit der WeekDay-Funktion können Sie eine ganze Zahl von 1 bis 7 zurückgeben, die einen Wochentag aus einem Eingabedatum darstellt.

Die Syntax der WeekDay-Funktion lautet:

WeekDay(Datum, [ErsterTagDerWoche]) wobei:

  • Datum: Das Datum, aus dem Sie den Wert des Wochentags extrahieren möchten.
  • ErsterTagDerWoche (Optional): Eine Konstante, die den Wochentag angibt, den die Funktion als ersten Tag der Woche verwenden soll. Wenn sie leer ist, wird der Sonntag als erster Wochentag verwendet. Der erste Tag der Woche kann einem der folgenden Werte entsprechen:

-vbSunday – verwendet den Sonntag als ersten Tag der Woche.

-vbMonday – verwendet Montag als ersten Tag der Woche.

-vbTuesday – verwendet Dienstag als ersten Tag der Woche.

-vbWednesday – verwendet Mittwoch als ersten Tag der Woche.

-vbThursday – verwendet Donnerstag als ersten Tag der Woche.

-vbFriday – verwendet Freitag als ersten Tag der Woche.

-vbSaturday – verwendet Samstag als ersten Tag der Woche.

-vbUseSystemDayOfTheWeek – verwendet den ersten Tag der Woche, der durch die Einstellungen Ihres Systems festgelegt ist.

Der folgende Code zeigt Ihnen, wie Sie die WeekDay-Funktion verwenden können:

Sub VerwendungWeekDayFunktion()

Dim derWochenTag As Integer
derWochenTag = WeekDay("11/20/2019")
Debug.Print derWochenTag

End Sub

Das Ergebnis ist:

verwendung weekday funktion vba

VBA – WeekDayName-Funktion

Sie können die WeekdayName-Funktion verwenden, um den Namen eines Wochentags aus einer eingegebenen Wochentagsnummer zu ermitteln.

Die Syntax der WeekDayName-Funktion lautet:

WeekDayName(Wochentag, [Abkürzung], [ErsterTagderWoche]) wobei:

  • Wochentag: Ein ganzzahliger Wert zwischen 1 und 7.
  • Abkürzung(Optional): Gibt an, ob der Wochentagsname abgekürzt werden soll. Ist der Wert leer, wird der Standardwert False verwendet.
  • ErsterTagderWoche(Optional): Eine Konstante, die den Wochentag angibt, den die Funktion als ersten Tag der Woche verwenden soll. Ist der Wert leer, wird der Sonntag als erster Wochentag verwendet. Der erste Tag der Woche kann einem der folgenden Werte entsprechen:

-vbSunday – verwendet den Sonntag als ersten Tag der Woche.

-vbMonday – verwendet Montag als ersten Tag der Woche.

-vbTuesday – verwendet den Dienstag als ersten Tag der Woche.

-vbWednesday – verwendet Mittwoch als ersten Tag der Woche.

-vbThursday – verwendet Donnerstag als ersten Tag der Woche.

-vbFriday – verwendet Freitag als ersten Tag der Woche.

-vbSaturday – verwendet Samstag als ersten Tag der Woche.

-vbUseSystemDayOfTheWeek – verwendet den ersten Tag der Woche, der in den Systemeinstellungen festgelegt ist.

Sub VerwendungWeekDayNameFunktion()
 
Dim derWochenTagsName As String

derWochenTagsName = WeekDayName(4)
Debug.Print derWochenTagsName

End Sub

Das Ergebnis ist:

verwendung weekdayname funktion vba

VBA – Year-Funktion

Sie können die Year-Funktion verwenden, um das Jahr eines eingegebenen Datums zu ermitteln.

Die Syntax der Year-Funktion lautet:

Year(Datumswert) wobei:

  • Datumswert: Das Datum, aus dem Sie das Jahr extrahieren möchten.

Der folgende Code zeigt Ihnen, wie Sie die Year-Funktion verwenden können:

Sub VerwendungYearFunktion()

Dim dasJahr As Integer

dasJahr = Year("11/12/2010")
Debug.Print dasJahr

End Sub

Das Ergebnis ist:

verwendung year funktion vba

Vergleich von Datumsangaben in VBA

Sie können Datumsangaben mit den Operatoren >, < und = in VBA vergleichen. Der folgende Code zeigt Ihnen, wie Sie zwei Datumsangaben in VBA vergleichen können.

Sub DatenVergleich()

Dim DatumEins As Date
Dim DatumZwei As Date

DatumEins = "10/10/2010"
DatumZwei = "11/11/2010"

If DatumEins > DatumZwei Then
Debug.Print "Datum eins ist das spätere Datum"

ElseIf DatumEins = DatumZwei Then
Debug.Print "Die beiden Daten sind gleich"

Else
Debug.Print "Datum zwei ist das spätere Datum"

End If
End Sub

daten vergleichen vba

In diesem Tutorial erfahren Sie mehr über die Formatierung von Datumsangaben als Zeichenketten.