Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Datum grösser als heute

Forumthread: Wenn Datum grösser als heute

Wenn Datum grösser als heute
Heinz
Hallo Leute
Im unteren Makro wird mir das Monat um 1 hochgezählt.
Nun möchte ich wenn in H1 das Datum grösser als heute, das dann eine MsgBox Zb. "Sie müssen noch bis zum 1.April warten". erscheint und das Makro beendet.
Könnte mir bitte wieder jemand weiterhelfen ?
Gruß
Heinz
Sub WochenendeWeg(monat As Boolean)
Application.EnableEvents = False
Application.ScreenUpdating = False
'-------Monat um 1 Hochzählen----------
'In G1 steht jetzt eine Formel, die nicht mehr geändert werden muss,
'daher wird nur noch F1 geändert.
If monat = False Then
If MsgBox("Wollen Sie ein neues Monat erstellen ?", vbQuestion + vbYesNo, _
" Nachfrage Neues Monat erstellen !") = vbNo Then Exit Sub
Range("F1") = DateAdd("m", 1, Range("F1"))
End If
Call cp_wbk
'Blattname neu bestimmen
ActiveSheet.Name = Range("G1")
Dim datStart As Date, datEnd As Date
Dim lDay As Long
Dim iRow As Integer, lngStart As Long, lngCol As Long
datStart = Range("F1").Value ' in der Zelle M3 befindet sich das Anfangsdatum
datEnd = Range("H1").Value   ' in der Zelle H1 befindet sich das Enddatum
iRow = 6 ' Hiermit wird gesagt, dass in Zeile 6 angefangen werden soll
lngStart = iRow
Range("A6:A35").EntireRow.ClearContents 'Statt löschen der Zeilen werden nur Inhalte gelö _
scht
Range("C6:F35").EntireRow.ClearContents ' Statt löschen der Zeilen werden nur Inhalte gelö _
scht
Range("A6:A35").EntireRow.Interior.ColorIndex = xlColorIndexNone 'Franz entfernt Farbe aus  _
Zellbereich
Range("A6:O35").Font.Bold = False 'Schriftart Fett zurücksetzen
Range("A6:A35").NumberFormatLocal = "TT.MM.JJJJ"
Range("B6:B35").NumberFormatLocal = "TTT"
For lDay = datStart To datEnd
Select Case WeekDay(lDay, 2)
Case Is  0 Then MsgBox "Fehler: " & Err.Number & vbLf & _
Err.Description
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Datum grösser als heute
04.01.2010 14:25:19
Rudi
Hallo,
if Range("H1")>Date then
msgbox "Sie müssen noch bis zum " &Format(Range("H1"), "DD.MMMM" &" warten")
Exit Sub
End If
Gruß
Rudi
btw.: Es heißt der Monat.
AW: Datum grösser als heute
04.01.2010 15:03:59
Heinz
Hallo Rudi
Recht herzlichen DANK.
Funkt. einwandfrei.
Gruß
Heinz
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

Infobox / Tutorial

Datum in Excel überprüfen: Wenn Datum größer als heute


Schritt-für-Schritt-Anleitung

Um in Excel zu überprüfen, ob das Datum in einer bestimmten Zelle, beispielsweise H1, größer als das heutige Datum ist, kannst Du die folgende VBA-Programmierung verwenden:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code und füge ihn in das Modul ein:

    Sub ÜberprüfeDatum()
       If Range("H1").Value > Date Then
           MsgBox "Sie müssen noch bis zum " & Format(Range("H1").Value, "DD.MMMM") & " warten"
           Exit Sub
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Du kannst dieses Makro nun ausführen, um die Prüfung durchzuführen.


Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt"
    Lösung: Stelle sicher, dass die Zelle H1 ein gültiges Datum enthält. Wenn der Inhalt kein Datum ist, wird dieser Fehler angezeigt.

  • Fehler: MsgBox erscheint nicht
    Lösung: Vergewissere dich, dass das Makro tatsächlich aufgerufen wird. Du kannst dazu eine Schaltfläche in dein Excel-Blatt einfügen, um das Makro auszuführen.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch eine Excel-Formel verwenden:

  1. In einer neuen Zelle kannst Du die folgende Formel verwenden:

    =WENN(H1 > HEUTE(); "Sie müssen noch bis zum " & TEXT(H1; "DD.MMMM") & " warten"; "Datum ist heute oder früher")
  2. Diese Formel gibt eine entsprechende Nachricht aus, je nachdem, ob das Datum größer als heute ist oder nicht.


Praktische Beispiele

Angenommen, Du hast in Zelle H1 das Datum 15.04.2024 eingegeben. Wenn Du das VBA-Makro ausführst, wird die MsgBox erscheinen mit dem Text:

Sie müssen noch bis zum 15.April warten

Wenn Du die oben genannte Excel-Formel verwendest, wird in der Zelle, in der die Formel steht, der gleiche Text angezeigt, solange das Datum in H1 größer als das heutige Datum ist.


Tipps für Profis

  • Nutze die Möglichkeit, die MsgBox zu gestalten, um verschiedene Schaltflächen oder Icons hinzuzufügen, um das Benutzererlebnis zu verbessern.

  • Du kannst auch andere Bedingungen einfügen, um spezifischere Nachrichten anzuzeigen, z.B. was zu tun ist, wenn das Datum innerhalb einer bestimmten Frist liegt.


FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen?
Du kannst die MsgBox anpassen, indem Du verschiedene Parameter hinzufügst, wie z.B. Icons oder Schaltflächen. Zum Beispiel:

MsgBox "Text", vbInformation + vbOKOnly, "Titel"

2. Was passiert, wenn H1 kein Datum enthält?
In diesem Fall wird ein Typenkonflikt auftreten. Stelle sicher, dass die Zelle H1 ein gültiges Datum enthält, um Fehler zu vermeiden.

3. Funktioniert das auch in älteren Excel-Versionen?
Ja, die oben genannten Methoden funktionieren in den meisten Excel-Versionen, die VBA unterstützen, einschließlich Excel 2010 und neuer. Die Excel-Formel funktioniert ebenfalls in älteren Versionen ab Excel 2007.

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