Zum Hauptinhalt springen

VBA Excel: Datum als Zahl - Konvertierung und Verwendung in Makros

Ein Datum ist einer der häufigsten Datentypen in Excel, aber manchmal ist es erforderlich, Daten als Zahlen zu behandeln. In VBA Excel gibt es spezielle Funktionen und Methoden, mit denen Sie Daten in Zahlen und umgekehrt Zahlen in Daten konvertieren können. Dies kann nützlich sein, wenn Sie Makros erstellen und zeitbezogene Aufgaben automatisieren.

Das Konvertieren eines Datums in ein numerisches Format kann beim Sortieren von Daten, bei der Berechnung von Datumsdifferenzen und bei anderen mathematischen Operationen hilfreich sein. Sie können die Funktion verwenden, um ein Datum in eine Zahl umzuwandeln DateDiff, die die Differenz zwischen zwei Daten berechnet und das Ergebnis in einer bestimmten Maßeinheit (z. B. Tage, Monate oder Jahre) zurückgibt.

Wenn Sie eine Zahl in ein Datum konvertieren möchten, können Sie die Funktion verwenden DateSerial, die drei Argumente akzeptiert: jahr, Monat und Tag und gibt das Datum als Zahl zurück. Sie können auch Funktionen verwenden Day, Month und Year um die entsprechenden Werte für Tag, Monat und Jahr aus einer Zahl zu extrahieren, die das Datum darstellt.

In Excel VBA wird das Datum als Zahl dargestellt, wobei der ganze Teil die Anzahl der seit dem 1. Januar 1900 verstrichenen Tage und der Dezimalteil der Anteil des seit Mitternacht verstrichenen Tages ist. Dieses Format macht es einfach, mathematische Operationen mit Datumsangaben durchzuführen und sie in Makros zu verwenden.

Konvertieren eines Datums in eine Zahl in VBA Excel

In Excel VBA können Sie ein Datum einfach in eine Zahl konvertieren, um es in Makros zu verwenden oder verschiedene Vorgänge auszuführen. Das Konvertieren eines Datums in eine Zahl ermöglicht es uns, Daten als Zahlen zu behandeln, was mehr Möglichkeiten für die Verarbeitung und Analyse von Daten bietet.

Sie können die Funktion "DateValue" verwenden, um ein Datum in eine Zahl zu konvertieren. Diese Funktion akzeptiert eine Zeichenfolge, die ein Datum darstellt, und gibt einen numerischen Datumswert zurück. Wenn wir beispielsweise das Datum "01.01.2025" in eine Zahl konvertieren möchten, können wir den folgenden Code verwenden:

DateValue("01.01.2025")

Dieser Code gibt den numerischen Wert "44439" zurück, der das Datum "01.01.2025" im Dezimalformat darstellt. Wir können diesen numerischen Wert in einer Variablen speichern und in unseren Makros verwenden.

Das Konvertieren eines Datums in eine Zahl ist auch beim Vergleichen von Datumsangaben nützlich. Wenn wir zum Beispiel zwei Daten haben und wissen möchten, welches größer ist, können wir sie in Zahlen umwandeln und die resultierenden Werte vergleichen. Hier ist ein Beispielcode:

Dim date1 As DateDim date2 As Datedate1 = DateValue("01.01.2025")date2 = DateValue("02.01.2025")If date1 > date2 ThenMsgBox "Первая дата больше второй"ElseIf date1 < date2 ThenMsgBox "Вторая дата больше первой"ElseMsgBox "Даты равны"End If

In diesem Beispiel erstellen wir zwei Variablen vom Typ "Date" und konvertieren die Datumsangaben "01.01.2025" und "02.01".2025" verwenden Sie die Funktion "DateValue" in Zahlen und vergleichen Sie dann ihre Werte. Wenn das erste Datum größer als das zweite ist, wird die Meldung "Das erste Datum ist größer als das zweite" angezeigt, wenn das zweite Datum größer als das erste ist, wird die Meldung "Das zweite Datum ist größer als das erste" angezeigt, andernfalls wird die Meldung "Die Daten sind gleich" angezeigt.

Das Konvertieren eines Datums in eine Zahl in VBA Excel ist ein leistungsfähiges Werkzeug, mit dem Sie Daten wie Zahlen bearbeiten und die Verarbeitungsmöglichkeiten für Daten erweitern können. Angesichts der Einfachheit und Effizienz einer solchen Konvertierung lohnt es sich, sie bei der Entwicklung von Makros für Excel zu berücksichtigen.

Wie konvertiert man ein Datum in eine Zahl in Excel mit VBA

In der Programmiersprache VBA (Visual Basic for Applications) gibt es mehrere Möglichkeiten, ein Datum in Excel in eine Zahl umzuwandeln. Dies kann nützlich sein, wenn Sie mathematische Operationen mit Datumsangaben durchführen oder Datumsvergleiche in Makros durchführen müssen.

Bevor Sie mit der Konvertierung eines Datums in eine Zahl beginnen, müssen Sie sicherstellen, dass die Zelle, die das Datum enthält, mit dem erwarteten Format übereinstimmt. Sie können dazu die Range-Methode verwenden.NumberFormat.

Sie können die Funktion CDate verwenden, um ein Datum mithilfe von VBA in eine Zahl zu konvertieren. Diese Funktion konvertiert den Wert in ein Datum, und Sie können dann die CDbl-Funktion verwenden, um das Datum in einen numerischen Wert umzuwandeln.

Hier ist ein Beispiel für VBA-Code, der ein Datum in einen numerischen Wert konvertiert:

Sub ConvertDateToNumber()Dim dateValue As DateDim numberValue As Double' Задаем значение датыdateValue = CDate("10.12.2025")' Преобразуем дату в числовое значениеnumberValue = CDbl(dateValue)' Выводим результатMsgBox "Числовое значение даты: " & numberValueEnd Sub

Dieses Makro legt den Datumswert auf "10.12.2025", konvertiert es in einen numerischen Wert und gibt das Ergebnis mit MsgBox aus.

Wenn Sie anstelle eines numerischen Datumswerts nur einen Tag, einen Monat oder ein Jahr erhalten möchten, können Sie die Funktionen Day, Month und Year entsprechend verwenden:

Sub GetDayMonthYearFromDate()Dim dateValue As DateDim dayValue As IntegerDim monthValue As IntegerDim yearValue As Integer' Задаем значение датыdateValue = CDate("10.12.2025")' Получаем день, месяц и год из датыdayValue = Day(dateValue)monthValue = Month(dateValue)yearValue = Year(dateValue)' Выводим результатMsgBox "День: " & dayValue & vbCrLf & "Месяц: " & monthValue & vbCrLf & "Год: " & yearValueEnd Sub

Dieses Makro legt den Datumswert auf "10.12.2025", ruft den Tag, den Monat und das Jahr von diesem Datum ab und gibt das Ergebnis mit MsgBox aus.

Das Konvertieren eines Datums in eine Zahl in Excel mit VBA ist sehr nützlich, wenn Sie mit Datumsangaben in Makros arbeiten. Es ermöglicht Ihnen, verschiedene Datumsoperationen wie Vergleiche oder mathematische Operationen durchzuführen, was die Automatisierung der Arbeit mit Datumsangaben erheblich vereinfachen kann.