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

VBA: Wenn Datum erreicht und Zelle = 0, dann.

Forumthread: VBA: Wenn Datum erreicht und Zelle = 0, dann.

VBA: Wenn Datum erreicht und Zelle = 0, dann.
25.07.2006 17:53:22
Jürgen
Hallo zusammen,
folgendes habe ich:

Private Sub Workbook_Open()
If Date = 38714 Or Date = 38713 Then
MsgBox Chr(13) & " ! ! ! !  W I C H T I G ! ! ! !" & Chr(13) & "" & Chr(13) & "Bitte die Aktualisierung nicht vergessen!" & Chr(13) & "" & Chr(13) & "Fragen wir immer an mich: Wagner-ES@arcor.de" & Chr(13) & "" & Chr(13) & "Vielen Dank!"
Else
End If
End Sub

Wie kann ich aber erreichen, dass er diese Meldung nur dann anzeigt wenn das aktuelle Datum erreicht ist, und eine bestimmte Zelle in einem beliebigen Tabellenblatt gleich null ist?
Vielen Dank!
Gruß Jürgen
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Wenn Datum erreicht und Zelle = 0, dann.
25.07.2006 18:08:09
ChrisL
Hallo Jürgen
ungetestet:

Private Sub Workbook_Open()
If Date >= 38713 And Worksheets("Tabelle1").Range("A1") = 0 Then ...
End Sub

Gruss
Chris
AW: VBA: Wenn Datum erreicht und Zelle = 0, dann.
25.07.2006 18:19:40
Jürgen
Vielen Dank Chris,
so einfach wie es ist, ... funktioniert es auch tadellos!
AW: VBA: Wenn Datum erreicht und Zelle = 0, dann.
25.07.2006 19:03:21
Peter
Hallo Jürgen,
so könnte es gehen:

Private Sub Workbook_Open()
Dim iBlatt   As Integer
Dim dDatum   As Date:  dDatum = "25.07.2006"
If dDatum = Date Then
For iBlatt = 1 To Worksheets.Count
If Worksheets(iBlatt).Range("B2").Value = "Hugo" Then
MsgBox Chr(13) & " ! ! ! !  W I C H T I G ! ! ! !" & Chr(13) & _
"" & Chr(13) & "Bitte die Aktualisierung nicht vergessen!" & _
Chr(13) & "" & Chr(13) & _
"Fragen wir immer an mich: Wagner-ES@arcor.de" & _
Chr(13) & "" & Chr(13) & "Vielen Dank!"
Exit For
End If
Next iBlatt
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: VBA: Wenn Datum erreicht und Zelle = 0, dann.
25.07.2006 19:15:37
Jürgen
Hallo Peter!
Vielen Dank, auch deine Lösung des Problems läuft nach einer Anpassung wunderbar!
Ich denke damit ist mit sehr geholfen...
Gruß Jürgen
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VBA: Datum überprüfen und Zelle gleich null


Schritt-für-Schritt-Anleitung

  1. Öffne das Excel-Dokument und gehe in den Visual Basic for Applications (VBA) Editor, indem du ALT + F11 drückst.

  2. Wähle im Projekt-Explorer dein Arbeitsbuch aus.

  3. Doppelklicke auf "Diese Arbeitsmappe" (ThisWorkbook).

  4. Füge den folgenden VBA-Code ein, um eine Meldung anzuzeigen, wenn das Datum erreicht ist und eine bestimmte Zelle gleich null ist:

    Private Sub Workbook_Open()
       If Date >= 38713 And Worksheets("Tabelle1").Range("A1") = 0 Then
           MsgBox " ! ! ! !  W I C H T I G ! ! ! !" & vbCrLf & _
                  "Bitte die Aktualisierung nicht vergessen!" & vbCrLf & _
                  "Fragen wir immer an mich: Wagner-ES@arcor.de" & vbCrLf & _
                  "Vielen Dank!"
       End If
    End Sub
  5. Schließe den VBA-Editor und speichere deine Arbeitsmappe als Makro-fähige Datei (.xlsm).

  6. Schließe und öffne die Arbeitsmappe erneut, um die Funktion zu testen.


Häufige Fehler und Lösungen

  • Fehler: Die Meldung wird nicht angezeigt.

    • Lösung: Überprüfe, ob das Datum korrekt eingestellt ist und ob die Zelle (z.B. "A1") tatsächlich null ist.
  • Fehler: Kompilierungsfehler im VBA-Code.

    • Lösung: Stelle sicher, dass der Code korrekt kopiert wurde und keine zusätzlichen Zeichen enthält.

Alternative Methoden

Anstatt den Code im Workbook_Open-Ereignis zu verwenden, kannst du auch ein Makro erstellen, das manuell ausgeführt wird. Hier ein Beispiel:

Sub CheckDateAndCell()
    If Date >= 38713 And Worksheets("Tabelle1").Range("A1") = 0 Then
        MsgBox " ! ! ! !  W I C H T I G ! ! ! !" & vbCrLf & _
               "Bitte die Aktualisierung nicht vergessen!" & vbCrLf & _
               "Fragen wir immer an mich: Wagner-ES@arcor.de" & vbCrLf & _
               "Vielen Dank!"
    End If
End Sub

Du kannst dieses Makro dann über die Excel-Oberfläche ausführen.


Praktische Beispiele

Wenn du beispielsweise das Datum auf den 25.07.2006 überprüfen möchtest, kannst du den Code wie folgt anpassen:

Private Sub Workbook_Open()
    Dim dDatum As Date: dDatum = "25.07.2006"
    If dDatum = Date And Worksheets("Tabelle1").Range("A1") = 0 Then
        MsgBox " ! ! ! !  W I C H T I G ! ! ! !" & vbCrLf & _
               "Bitte die Aktualisierung nicht vergessen!" & vbCrLf & _
               "Fragen wir immer an mich: Wagner-ES@arcor.de" & vbCrLf & _
               "Vielen Dank!"
    End If
End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Teste den Code regelmäßig, um sicherzustellen, dass er wie gewünscht funktioniert.
  • Dokumentiere deinen Code, um dir und anderen zu helfen, ihn in der Zukunft besser zu verstehen.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehrere Zellen zu überprüfen?
Du kannst die Bedingungen in der If-Anweisung erweitern, um mehrere Zellen zu überprüfen, z.B.:

If Worksheets("Tabelle1").Range("A1") = 0 And Worksheets("Tabelle1").Range("B1") = 0 Then

2. Funktioniert dieser Code auch in Excel 365?
Ja, der Code funktioniert in allen gängigen Excel-Versionen, einschließlich Excel 365. Stelle sicher, dass du die Makros aktiviert hast.

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