Excel Messagebox bei überzogenem Termin?
Hallo Leute,
in meinem Excel Dokument werden bereits die jeweiligen Daten der letzten Wartung und die der nächsten Wartung eingetragen. Mit einer bedingten Formatierung konnte ich folgendes realisieren:
- bei der nächsten Wartung, welche 14 oder mehr Tage entfernt ist ist das Feld grün eingefärbt
- bei der nächsten Wartung, welche weniger als 14 Tage entfernt ist ist das Feld gelb eingefärbt
- wenn die nächste Wartung überzogen ist wird das Feld rot eingefärbt
Nun möchte ich noch eine Messagebox, welche beim Öffnen des Dokuments aufpopt, erstellen, welche mir einen Überblick über die gelben und roten Felder gibt, also z.B.
Überzogene Wartungstermine: Nr...., Nr... (also alle roten).
Dringliche Wartungstermine: Nr..., Nr.,,, (also alle gelben).
In dem angehängten Bild seht ihr ein Beispiel mit Wartungsterminen.
Ich hoffe ich habe mich verständlich ausgedrückt und dass mir jemand helfen kann :D
Gruß

2 Antworten
Du wirst wahrscheinlich um VBA nicht umher kommen.
Reicht dir denn nicht der Filter in deinem Screenshot?
Mit VBA eine Messagebox zu programmieren, deren Inhalt du durch einen Klick auf den Filterpfeil auch angezeigt bekommen würdest, ist ein wenig mit Kanonen auf Spatzen geschossen.
Aber sei es drum:
Private Sub Workbook_Open() Dim rDatWartung Dim sMsgBaldFaellig As String Dim sMsgUeberFaellig As String sMsgBaldFaellig = "" sMsgUeberFaellig = "" For Each rDatWartung In Range("E4:E100") If rDatWartung.Value <> "" Then If rDatWartung.Value < Date Then sMsgUeberFaellig = sMsgUeberFaellig & Cells(rDatWartung.Row, 1) & " " & Cells(rDatWartung.Row, 2) & vbCrLf Else If rDatWartung.Value <= Date + 14 Then _ sMsgBaldFaellig = sMsgBaldFaellig & Cells(rDatWartung.Row, 1) & " " & Cells(rDatWartung.Row, 2) & vbCrLf End If End If Next If sMsgUeberFaellig & sMsgBaldFaellig <> "" Then MsgBox "Ueberfällig" & vbCrLf & sMsgUeberFaellig & "Bald fällig" & vbCrLf & sMsgBaldFaellig End If End Sub
Super, danke funktioniert. Leider wollte mein Chef noch so eine Messagebox, ihm hat die farbliche Variante nicht ausgereicht... Danke :)
Hallo, wenn du auch ohne Messagebox leben kannst, könntest du einfach eine kurze Übersicht im Kopf der Seite machen, wo die Anzahl der einzelnen Kategorien aufgeführt ist.
Das lässt sich mit der ZÄHLENWENN bzw. ZÄHLENWENNS-Funktion bewerkstelligen: Rot: =ZÄHLENWENN(A2:A20;"<" & A1) Gelb: =ZÄHLENWENNS(A2:A20;"<=" & A1;A2:A20;"<=" & (A1+14)) Grün: =ZÄHLENWENN(A2:A20;">" & (A1+14))
A2:A20 -> Datumsbereich A1 -> heutiges Datum
So brauchst du dich nicht mit VBA abmühen.
Falls du doch ne VBA-Lösung brauchst, sag Bescheid.
VG