Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Jahr aus Datum auslesen in VBA

Jahr aus Datum auslesen in VBA
gothino
Hallo,
Wie kann ich das Jahr eines Datums auslesen? Ich möchte einfach die normale Excelfunktion JAHR() verwenden, die letzte Zeile des untigen Makros funktioniert aber nicht. Bekomme Laufzeitfehler 438, "Objekt unterstützt diese Eigenschaft oder Methode nicht"?
Danke im voraus
lg
gothino
Sub test()
Dim year As Integer
Dim datum As Date
Dim txt As String
txt = "01.01.2003"
datum = CDate(txt)
year = Application.year(datum)
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Jahr aus Datum auslesen in VBA
02.09.2009 11:06:19
Adelhorst
Hallo gothino
Sub test()
Dim y As Integer
Dim datum As Date
Dim txt As String
txt = "01.01.2003"
datum = CDate(txt)
y = year(datum)
End Sub

Gruß Adelhorst
AW: Jahr aus Datum auslesen in VBA
02.09.2009 11:10:26
gothino
Aha, super danke
Ich hatte vorher dasselbe probiert, aber dabei die Variable year statt y verwendet
das hat nicht funktioniert
lg
gothino
Anzeige
ohne Application
02.09.2009 11:07:32
Rudi
außerdem solltest du keine Schlüsselwörter, Funktionsnamen etc als Variable benutzen.
Dim iYear as integer
...
...
iYear=Year(Datum)
Gruß
Rudi
AW: Jahr aus Datum auslesen in VBA
02.09.2009 11:09:58
David
Hallo gothino,
so:
Sub test()
Dim V_year As Integer
Dim datum As Date
Dim txt As String
txt = "01.01.2003"
datum = CDate(txt)
V_year = year(datum)
MsgBox V_year
End Sub
year NICHT als Variablenname verwenden, wie bei allen internen Funktionen!!!
Gruß
David
Anzeige
AW: Jahr aus Datum auslesen in VBA
02.09.2009 11:10:50
gothino
ok, ja das war der Fehler
danke
;

Forumthreads zu verwandten Themen

Anzeige
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

Jahr aus Datum auslesen in VBA


Schritt-für-Schritt-Anleitung

Um das Jahr aus einem Datum in VBA auszulesen, kannst du die integrierte Year-Funktion verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Füge den folgenden Code ein:
Sub JahrAuslesen()
    Dim V_year As Integer
    Dim datum As Date
    Dim txt As String
    txt = "01.01.2003" ' Beispiel-Datum
    datum = CDate(txt)
    V_year = Year(datum) ' Jahr aus Datum auslesen
    MsgBox "Das Jahr ist: " & V_year
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus (F5).
  2. Du solltest eine Meldung sehen, die das Jahr anzeigt.

Häufige Fehler und Lösungen

  1. Laufzeitfehler 438: "Objekt unterstützt diese Eigenschaft oder Methode nicht".

    • Lösung: Stelle sicher, dass du die Year-Funktion korrekt verwendest und nicht Application.Year, da dies zu Fehlern führen kann.
  2. Verwendung des Schlüsselworts Year als Variablenname:

    • Lösung: Verwende einen anderen Namen für deine Variable, z. B. V_year, um Konflikte mit der Funktion zu vermeiden.

Alternative Methoden

Wenn du das Jahr aus einem Datum in einer Excel-Zelle auslesen möchtest, kannst du die YEAR-Funktion direkt in einer Zelle verwenden:

=JAHR(A1)

Hierbei ist A1 die Zelle, die das Datum enthält.


Praktische Beispiele

  1. Um das aktuelle Jahr auszugeben, kannst du folgenden Code verwenden:
Sub AktuellesJahr()
    Dim aktuellesJahr As Integer
    aktuellesJahr = Year(Date) ' Aktuelles Jahr ermitteln
    MsgBox "Das aktuelle Jahr ist: " & aktuellesJahr
End Sub
  1. Um nur das Jahr aus einem Datum in einer Zelle anzuzeigen, verwende:
Sub JahrAusZelle()
    Dim V_year As Integer
    V_year = Year(Sheets("Tabelle1").Range("A1").Value) ' Datum aus Zelle auslesen
    MsgBox "Das Jahr aus der Zelle ist: " & V_year
End Sub

Tipps für Profis

  • Wenn du mit Datumsformaten arbeitest, achte darauf, dass das Datum korrekt interpretiert wird, insbesondere bei verschiedenen regionalen Einstellungen.
  • Verwende CDate nur, wenn du sicher bist, dass das Eingangsformat korrekt ist. Andernfalls kann es zu Laufzeitfehlern kommen.
  • Experimentiere mit der Month- und Day-Funktion, um auch den Monat und den Tag aus einem Datum auszulesen.

FAQ: Häufige Fragen

1. Wie kann ich das Jahr aus einem Datum in einem VBA-Makro dynamisch auslesen? Du kannst ein Datum aus einer Zelle auslesen und die Year-Funktion darauf anwenden, wie im Beispiel zur JahrAusZelle-Subroutine gezeigt.

2. Funktioniert die Year-Funktion auch mit Datumsformaten aus anderen Ländern? Ja, solange das Datum korrekt formatiert ist, sollte die Year-Funktion unabhängig von regionalen Formaten funktionieren. Achte jedoch darauf, dass das Datum richtig interpretiert wird.

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