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

VBA Datum vergleichen, größer/kleiner

Forumthread: VBA Datum vergleichen, größer/kleiner

VBA Datum vergleichen, größer/kleiner
01.05.2022 09:08:40
Mani
Guten Morgen!
Ich habe ein Problem mit meinem Code, vielleicht kann mir hier jemand helfen.
Ich möchte ein vorgegebenes Datum mit dem heutigen Datum vergleichen und wenn die Bedingung erfüllt ist, muss ein weiterer Code ausgeführt werden.
Der Code soll folgendes erledigen.
Wenn das heutige Datum größer als das Datum im Workbook xyz im Bereich J4 ist, dann rufe den nächsten Code auf, ansonsten erscheint die MsgBox mit der Info "Du musst noch warten".
Der Code funktioniert teilweise, aber Datumsmässig macht er genau das Gegenteil.

Function WENN_DANN_Sonst()
If ActiveWorkbook.Sheets("xyz").Range("J4").value 
Function
Vielen Dank für eure Hilfe.
Gruß, Mani


		
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 09:40:29
Oberschlumpf
Moin,
was genau steht denn in Zelle J4?
Ist diese Zelle auch als DATUM formatiert?
Ist die Schreibweise in J4 genau so wie das deutsche Datum "01.05.2022"?
Vielleicht kannst du uns ja per Upload mal eine Bsp-Datei mit Bsp-Daten zeigen.
Ciao
Thorsten
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 10:11:33
Mani
Hallo Thorsten,
in J4 steht ein Datum und diese Zelle ist auch als DATUM formatiert.
Die Schreibweise ist genau wie das deutsche Datum 01.05.2022.
Gruß, Mani
Anzeige
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 10:38:30
Oberschlumpf
Hi,
und wo is die Bsp-Datei?
Ciao
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 09:46:55
oraculix
Versuch mal das
If ActiveWorkbook.Sheets("xyz").Range("J4").value >= Date Then
Statt
If ActiveWorkbook.Sheets("xyz").Range("J4").value Gruß
Oraculix
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 10:12:36
Mani
Hallo Oraculix,
habe ich schon probiert, aber es funktioniert leider nicht.
Gruß, Mani
Anzeige
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 10:43:47
GerdL
Moin!
Wenn das heutige Datum größer als das Datum im Workbook xyz im Bereich J4 ist,

Sub Unit()
If Not IsDate(ActiveWorkbook.Sheets("xyz").Range("J4")) Or ActiveWorkbook.Sheets("xyz").Range("J4").Value = 0 Then
MsgBox "Kein Vergleichsdatum"
ElseIf ActiveWorkbook.Sheets("xyz").Range("J4").Value 
Gruß Gerd
Anzeige
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 11:43:25
Mani
Hallo Gerd,
danke, funktioniert.
Gruß, Mani
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 10:50:10
onur
Wenn du schreibst: "Wenn das heutige Datum größer als das Datum im Workbook xyz im Bereich J4 ist"
dann solltest du das auch genau so programmieren:

If Date > ActiveWorkbook.Sheets("xyz").Range("J4").value Then
und zwar nur "grösser" und nicht "grösser gleich".
Ausserdem : Du meinst wohl WORKSHEET statt WORKBOOK - oder ?
Anzeige
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 11:47:22
Mani
Hallo Onur,
das habe ich vorher auch so programmiert, aber es hat leider nicht funktioniert und deshalb ich dann auch hin und her probiert.
Ja tut mir leid, ich meinte WORKSHEET.
Mittlerweile habe ich auch schon eine Hilfestellung bekommen die funktioniert.
Dir auch nochmals danke.
Gruß, Mani
Anzeige
AW: VBA Datum vergleichen, größer/kleiner
01.05.2022 11:02:25
Dieter(Drummer)
Hallo Mani,
ich gehöre nicht zu den VBA Experten, aber dieser Code funktionert ... :
Gruß, Dieter(Drummer)

Function WENN_DANN_Sonst()
If ActiveWorkbook.Sheets("xyz").Range("J4").Value 

Sub Test_Info()
MsgBox "Geht doch"
End Sub

Anzeige
AW: War noch Fehler in der Reihenfolge. Sorry
01.05.2022 11:17:38
Dieter(Drummer)
Hallo Mani,
hatte noch einen Fehler in der Reihenfolge.
Gruß, Dieter(Drummer)
Jetzt:
  • 
    Function WENN_DANN_Sonst()
    If ActiveWorkbook.Sheets("xyz").Range("J4").Value 
    
    Sub Test_Info()
    MsgBox "Geht doch"
    End Sub
    

  • Anzeige
    AW: War noch Fehler in der Reihenfolge. Sorry
    01.05.2022 11:55:47
    Mani
    Hallo Dieter,
    leider funktioniert der Code bei mir nicht.
    Mittlerweile habe ich aber eine Hilfestellung bekommen die funktioniert.
    Ich danke auch dir für die Unterstützung.
    Gruß, Mani
    AW:Zur Info hier eine Testdatei
    01.05.2022 12:44:18
    Dieter(Drummer)
    Hallo Mani,
    Danke für Rückmeldung und hier nur zur Info eine Testdatei, die bei mir funktioniert.
    Gruß, Dieter(Drummer)
    https://www.herber.de/bbs/user/152785.xlsm
    Anzeige
    AW: AW:Zur Info hier eine Testdatei
    01.05.2022 14:11:50
    Mani
    Hallo Dieter,
    ich habe jetzt nochmals deinen Code mit der Testdatei probiert und auch in meine Datei eingefügt.....es funktioniert.
    Werde auch diesen verwenden, da dieser kürzer ist.
    Vielen Dank nochmals!
    Gruß, Mani
    AW: AW:Freut mich für Dich, Mani. owT
    01.05.2022 15:45:21
    Dieter(Drummer)
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige

    Infobox / Tutorial

    VBA: Datum vergleichen – größer/kleiner in Excel


    Schritt-für-Schritt-Anleitung

    Um ein Datum in Excel mithilfe von VBA zu vergleichen, kannst Du die folgenden Schritte befolgen:

    1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

    2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste im Projektfenster, wähle Einfügen und dann Modul.

    3. Füge den folgenden Code ein:

      Function WENN_DANN_Sonst()
         If Not IsDate(ActiveWorkbook.Sheets("xyz").Range("J4").Value) Then
             MsgBox "Kein gültiges Datum in J4"
             Exit Function
         End If
         If ActiveWorkbook.Sheets("xyz").Range("J4").Value < Date Then
             MsgBox "Du musst noch warten"
         Else
             Call Test_Info
         End If
      End Function
      
      Sub Test_Info()
         MsgBox "Geht doch"
      End Sub
    4. Speichere und schließe den VBA-Editor.

    5. Führe die Funktion aus: Du kannst die Funktion nun in Excel aufrufen, um das Datum zu vergleichen.


    Häufige Fehler und Lösungen

    • Fehler: "Kein gültiges Datum in J4"
      Lösung: Stelle sicher, dass die Zelle J4 tatsächlich als Datum formatiert ist. Wenn nicht, formatiere sie entsprechend.

    • Fehler: Vergleich funktioniert nicht wie erwartet
      Lösung: Achte darauf, dass Du die Bedingung richtig formuliert hast. Wenn Du prüfen möchtest, ob das Datum in J4 größer als das heutige Datum ist, benutze If ActiveWorkbook.Sheets("xyz").Range("J4").Value > Date Then.

    • Fehler: MsgBox zeigt falsche Meldung an
      Lösung: Überprüfe die Logik Deiner Bedingungen, um sicherzustellen, dass sie korrekt umgesetzt sind.


    Alternative Methoden

    Eine andere Methode, um Daten zu vergleichen, besteht darin, die Excel-Funktion WENN direkt in einer Zelle zu verwenden:

    =WENN(J4 > HEUTE(); "Geht doch"; "Du musst noch warten")

    Diese Formel prüft, ob das Datum in J4 größer als das heutige Datum ist. Wenn ja, wird "Geht doch" ausgegeben, andernfalls "Du musst noch warten".


    Praktische Beispiele

    1. Beispiel für ein Datum in J4: Angenommen, in Zelle J4 steht das Datum 01.05.2023. Wenn das heutige Datum 15.04.2023 ist, wird die MsgBox "Du musst noch warten" angezeigt.

    2. Erweiterte Funktion: Du kannst die Funktion erweitern, um zusätzliche Bedingungen oder Aktionen hinzuzufügen, abhängig vom Vergleich:

      If ActiveWorkbook.Sheets("xyz").Range("J4").Value > Date Then
         MsgBox "Das Datum ist in der Zukunft."
      Else
         MsgBox "Das Datum liegt in der Vergangenheit."
      End If

    Tipps für Profis

    • Debugging: Nutze die Debug.Print-Anweisung, um Werte während der Ausführung zu überprüfen. Dies hilft, Fehler im Code schneller zu identifizieren.

    • Datumskonvertierung: Wenn Du mit unterschiedlichen Datumsformaten arbeitest, stelle sicher, dass alle Daten in ein einheitliches Format konvertiert werden, um Fehler zu vermeiden.

    • Verwende Option Explicit: Füge am Anfang Deines Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert werden, was Fehler reduziert.


    FAQ: Häufige Fragen

    1. Wie vergleiche ich zwei Daten in Excel?
    Du kannst die WENN-Funktion oder VBA-Code verwenden, um zu prüfen, ob ein Datum größer oder kleiner als ein anderes ist.

    2. Was mache ich, wenn das Datum nicht richtig erkannt wird?
    Überprüfe die Formatierung der Zelle. Stelle sicher, dass das Datum im richtigen Format eingegeben wurde und dass die Zelle als Datum formatiert ist.

    3. Kann ich auch mehrere Daten vergleichen?
    Ja, Du kannst zusätzliche Bedingungen in Deiner If-Anweisung hinzufügen, um mehrere Daten zu vergleichen.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige