Hallo zusammen,
ich versuche mich gerade zum ersten mal an einer Programmierung eines Excel-Makros, habe kaum bis keine Vorkenntnisse von VBA und mein bisheriger Stand des Makros ist auch nur Dank Google und toller Beiträge in verschiedenen Foren.
In meiner Excel-Datei sind viele Datum-Angaben. Ich will nun gerne ein Makro haben, dass mir in einem Pop-Up Fenster beim Öffnen der Datei die Fälle ausgibt, die "Überfällig" also älter als das aktuelle Datum oder "Bald Fällig" also im nächsten Monat (bzw. heutiges Datum + 30 Tage) sind. Das funktioniert prinzipiell auch schon. Hier ist das aktuelle Makro:
Sub Workbook_Open()
Sheets("Lösch-Kündiger").Activate
Dim rDatFällig
Dim sMsgBaldFaellig As String
Dim sMsgUeberFaellig As String
sMsgBaldFaellig = ""
sMsgUeberFaellig = ""
For Each rDatFällig In Range("A4:A90000,G4:G90000,N4:N90000")
If rDatFällig.Value <> "" Then
If rDatFällig.Value <= Date Then
sMsgUeberFaellig = sMsgUeberFaellig & Cells(rDatFällig.Row, 1) & " " & Cells(rDatFällig.Row, 2) & vbCrLf
Else
If rDatFällig.Value <= (Date + 30) Then _
sMsgBaldFaellig = sMsgBaldFaellig & Cells(rDatFällig.Row, 1) & " " & Cells(rDatFällig.Row, 2) & vbCrLf
End If
End If
Next
If sMsgUeberFaellig & sMsgBaldFaellig <> "" Then
MsgBox "Überfällig" & vbCrLf & sMsgUeberFaellig & "Bald fällig" & vbCrLf & sMsgBaldFaellig
End If
End Sub
Ich hab jetzt nur zwei Probleme:
1. Habe ich drei verschiedene Spalten mit Datum-Angaben, die geprüft werden sollen. Daher ist die Range auch A4:A90000,G4:G90000,N4:N90000. Jedoch werden mir im Pop-Up nur die Fälle angezeigt, die in A4:A90000 stehen. Selbst wenn z.B. in G5 ein Fall ist, der "Bald Fällig" ist, erscheint nicht dieser im Pop-Up, sondern der Fall, der in A5 steht (und auch "Bald fällig" ist), wird zweimal im Pop-Up Fenster aufgelistet.
2. Hätte ich gerne, dass mir bei den "Überfälligen" Fällen nur die angezeigt werden, die älter als das heutige Datum sind UND in der Spalte (hier z.B. E, K und R) nichts stehen haben. Könntet ihr mir sagen, wie ich das programmiere?
Vielen Dank und viele Grüße
Sophie
ich versuche mich gerade zum ersten mal an einer Programmierung eines Excel-Makros, habe kaum bis keine Vorkenntnisse von VBA und mein bisheriger Stand des Makros ist auch nur Dank Google und toller Beiträge in verschiedenen Foren.
In meiner Excel-Datei sind viele Datum-Angaben. Ich will nun gerne ein Makro haben, dass mir in einem Pop-Up Fenster beim Öffnen der Datei die Fälle ausgibt, die "Überfällig" also älter als das aktuelle Datum oder "Bald Fällig" also im nächsten Monat (bzw. heutiges Datum + 30 Tage) sind. Das funktioniert prinzipiell auch schon. Hier ist das aktuelle Makro:
Sub Workbook_Open()
Sheets("Lösch-Kündiger").Activate
Dim rDatFällig
Dim sMsgBaldFaellig As String
Dim sMsgUeberFaellig As String
sMsgBaldFaellig = ""
sMsgUeberFaellig = ""
For Each rDatFällig In Range("A4:A90000,G4:G90000,N4:N90000")
If rDatFällig.Value <> "" Then
If rDatFällig.Value <= Date Then
sMsgUeberFaellig = sMsgUeberFaellig & Cells(rDatFällig.Row, 1) & " " & Cells(rDatFällig.Row, 2) & vbCrLf
Else
If rDatFällig.Value <= (Date + 30) Then _
sMsgBaldFaellig = sMsgBaldFaellig & Cells(rDatFällig.Row, 1) & " " & Cells(rDatFällig.Row, 2) & vbCrLf
End If
End If
Next
If sMsgUeberFaellig & sMsgBaldFaellig <> "" Then
MsgBox "Überfällig" & vbCrLf & sMsgUeberFaellig & "Bald fällig" & vbCrLf & sMsgBaldFaellig
End If
End Sub
Ich hab jetzt nur zwei Probleme:
1. Habe ich drei verschiedene Spalten mit Datum-Angaben, die geprüft werden sollen. Daher ist die Range auch A4:A90000,G4:G90000,N4:N90000. Jedoch werden mir im Pop-Up nur die Fälle angezeigt, die in A4:A90000 stehen. Selbst wenn z.B. in G5 ein Fall ist, der "Bald Fällig" ist, erscheint nicht dieser im Pop-Up, sondern der Fall, der in A5 steht (und auch "Bald fällig" ist), wird zweimal im Pop-Up Fenster aufgelistet.
2. Hätte ich gerne, dass mir bei den "Überfälligen" Fällen nur die angezeigt werden, die älter als das heutige Datum sind UND in der Spalte (hier z.B. E, K und R) nichts stehen haben. Könntet ihr mir sagen, wie ich das programmiere?
Vielen Dank und viele Grüße
Sophie