Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum als serielle Zahl ausgeben

Datum als serielle Zahl ausgeben
15.02.2009 16:36:00
reiner
Hallo Leute,
nachfolgende Prozedur wandelt das angegebene Datum in eine serielle Zahl um.
Ich will die Jahreszahl nun über eine Variable eingeben; wie müsste dann der Programmcode erweitert werden damit die Umwandlung funktioniert?

Sub Datum()
Dim Datum As Date
Datum = "01.01.2009"
MsgBox CLng(Datum)
End Sub


mfg
reiner

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum als serielle Zahl ausgeben
15.02.2009 17:00:00
Uwe
Hi reiner,
ich weiß nicht ob ich Dich richtig verstehe, meinst Du so:

Sub Datum()
Dim intJahreszahl As Integer
Dim datDatum As Date
intJahreszahl = 2009
datDatum = DateSerial(intJahreszahl, 1, 1)
MsgBox CLng(datDatum)
End Sub


(Ich habe auch die Datumsvariable geändert, da ich es nicht für gut halte, dass sie dem Namen des Makros entspricht)
Gruß
Uwe
(:o)

Anzeige
AW: Datum als serielle Zahl ausgeben
15.02.2009 17:18:00
Horst
Hi,

Sub Datum__()
Dim Datum As Date, Jahr As Integer
Jahr = 2009
Datum = "01.01." & Jahr
MsgBox CLng(Datum)
End Sub


Hallo Uwe und Horst
15.02.2009 17:34:00
reiner
danke für eure Beiträge, da beide Vorschläge das gleiche Ergebnis erzielen weiß ich noch nicht welche Variante ich letztlich einsetzen werde.
reiner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datum als serielle Zahl ausgeben


Schritt-für-Schritt-Anleitung

Um ein Datum in Excel VBA in eine serielle Zahl umzuwandeln, kannst Du die folgende Prozedur verwenden. Diese Technik eignet sich hervorragend, um mit Datumsangaben effizient zu arbeiten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:

    Sub Datum()
        Dim Datum As Date
        Datum = "01.01.2009"
        MsgBox CLng(Datum)
    End Sub
  4. Führe das Makro aus, indem Du F5 drückst oder auf Run klickst.
  5. Du solltest eine Nachricht mit der seriellen Zahl des Datums erhalten.

Falls Du die Jahreszahl variabel gestalten möchtest, kannst Du den Code wie folgt anpassen:

Sub Datum()
    Dim intJahreszahl As Integer
    Dim datDatum As Date
    intJahreszahl = 2009
    datDatum = DateSerial(intJahreszahl, 1, 1)
    MsgBox CLng(datDatum)
End Sub

Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich" beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass Du die Datumsvariable korrekt deklariert hast und das Datum im richtigen Format eingibst.
  • Fehler: Die MsgBox gibt eine unerwartete Zahl aus.

    • Lösung: Überprüfe, ob das Datum richtig zugewiesen wurde. Achte darauf, dass die Datumsangaben im richtigen Format vorliegen, z.B. DD.MM.JJJJ.

Alternative Methoden

Es gibt verschiedene Methoden, um ein Datum in eine Zahl umzuwandeln:

  1. Direkte Umwandlung mithilfe von CLng:

    • Diese Methode wandelt das Datum direkt in eine Zahl um, wie im obigen Beispiel gezeigt.
  2. Verwendung von DateValue:

    • Du kannst auch die Funktion DateValue verwenden, um ein Datum in seine serielle Zahl umzuwandeln:
    Sub DatumUmwandeln()
        Dim datDatum As Date
        datDatum = DateValue("01.01.2009")
        MsgBox CLng(datDatum)
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das Datum in eine Zahl umwandeln kannst:

  • Um ein Datum mit variabler Jahreszahl zu erzeugen:

    Sub DatumMitVariable()
        Dim Jahr As Integer
        Jahr = 2023
        MsgBox CLng(DateSerial(Jahr, 5, 15)) ' Gibt die serielle Zahl für den 15.05.2023 zurück
    End Sub
  • Um ein Datum in ein Excel-Zellenformat zu bringen:

    Sub DatumInZelle()
        Dim datDatum As Date
        datDatum = "01.01.2009"
        Cells(1, 1).Value = CLng(datDatum) ' Schreibt die serielle Zahl in die Zelle A1
    End Sub

Tipps für Profis

  • Verwende benannte Bereiche für häufig verwendete Datumswerte, um den Code übersichtlicher zu gestalten.

  • Nutze Fehlerbehandlung in VBA, um unerwartete Eingaben besser zu verwalten. Beispiel:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten"
  • Experimentiere mit Pivot-Tabellen und Diagrammen, um die serielle Zahl weiter zu analysieren.


FAQ: Häufige Fragen

1. Wie kann ich ein Datum in eine Zahl umwandeln, ohne VBA zu verwenden? Du kannst die Funktion =DATUM() in Excel verwenden, um ein Datum zu erstellen und dann die Formatierung auf "Zahl" zu ändern.

2. Was ist der Unterschied zwischen CLng und CDate? CLng wandelt einen Wert in eine lange Ganzzahl um, während CDate einen Wert in ein Datumsformat umwandelt. Um ein Datum als Zahl auszugeben, solltest Du CLng verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige