könnte mir vorstellen, dass das nicht ausreicht wenn Du eine Menge fällige Fahrzeuge hast. Der Text einer Msgbox ist nicht unendlich ...
Du hast aber schon Schleifen in Deinem Projekt. Baue eine weitere Schleife um die Aktionen, im Prinzip so:
Code:
For Each Blaetter in Sheets() If Blaetter.Name <> "Uebersicht" Then '... hier die Aktionen End If Next
Blaetter wäre dann das jeweilige Blatt, wo Du die Daten her holst und Übersicht eben die Tabelle, wo alles rein kommt.
Du musst dann allerdings in der Schleife For x = 4 To lzeileB
statt der starren 4 die jeweils erste freie Zeile nehmen. Dazu könntest Du selbige vor der vorgeschlagenen Schleife (For Each Blaetter in Sheets()) feststellen und nach Durchlauf der inneren Schleife auf den x-Wet hochsetzen, im Prinzip
rStart = ... For Each Blaetter in Sheets() ... For x = rStart To lzeileB ... Next rStart = x Next
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
hinsichtlich der Limitationen der MsgBox kann ich mich an 1024 Zeichen einschließlich Leerzeichen erinnern. Das würde für rund 30 Fahrzeuge in einer Meldung reichen.
Das Makro (kommt in das Modul der Arbeitsmappe):
Code:
Option Explicit
Private Sub Workbook_Open() Dim intanz As Integer Dim strMeld As String For intanz = 2 To 13 If CDate(Now) >= Cells(intanz, 1) - 15 Then strMeld = strMeld & Cells(intanz, 1) & " " & Cells(intanz, 2) & " " & Cells(intanz, 3) & " " & "fällig" & Chr(10) Next intanz MsgBox strMeld End Sub
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
wenn es mehrere Tabellenblätter gibt, was ich nicht wusste, ist es erforderlich, das richtige zu adressieren. Sonst kommt der von dir beschriebene Fehler, wenn die Datei mit dem "falschen" Blatt geöffnet wird. Versuche es mal damit:
Code:
Option Explicit
Private Sub Workbook_Open() Dim intanz As Integer Dim strMeld As String For intanz = 2 To 13 If CDate(Now) >= Sheets("Fahrzeugdaten").Cells(intanz, 1) - 15 Then strMeld = strMeld & _ Sheets("Fahrzeugdaten").Cells(intanz, 1) & " " & Sheets("Fahrzeugdaten").Cells(intanz, 2) _ & " " & Sheets("Fahrzeugdaten").Cells(intanz, 3) & " " & "fällig" & Chr(10) Next intanz MsgBox strMeld End Sub
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden