Ablaufdatum per VBA

Moderator: ModerationP

Ablaufdatum per VBA

Beitragvon Tom54 » 18. Jul 2019, 07:31

Hallo ich habe ein Problem, ich habe zb. in der Spalte D3 das Einlagerungsdatum und möchte gerne das es in der Spalte L3 das Ablaufdatum für 365+1 Tag ausrechnet und mir die Meldung per Msgbox meldet wenn da Datum in L3 abgelaufen ist. Und das für jede Zeilen eintrag. Ich würde mich sehr freun, wenn Ihr mir helfen könntet. Ich danke Euch schon mal im Voraus.

Gruß
Tom54
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4
Registriert: 12. Jul 2019, 04:13

Re: Ablaufdatum per VBA

Beitragvon HKindler » 18. Jul 2019, 08:07

Hi,

in L3 kommt die Formel =D3+366, aber das hast du sicherlich gewusst. Jetzt noch die Frage, wann genau die MsgBox ausgelöst werden soll. Beim Öffnen der Datei, beim Aktivieren des Blattes, bei jeder Neuberechnung, bei jeder Änderung in der Datei, bei jedem Zellwechsel?
Versuch es mal mit diesem Makro im Tabellenblatt-Modul:
Code: Alles auswählen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Zelle As Range
For Each Zelle In Intersect(Me.Columns(12), Me.UsedRange)
    With Zelle
        If .Value <> "" And .Value < Date Then MsgBox "Zeile " & .Row & " ist abgelaufen!", vbExclamation
    End With
Next Zelle
End Sub

Spätestens wenn du das testest, wirst du fluchen, weil du nur noch damit beschäftigt bist, ständig auf OK zu klicken. Wieso ich dir dann das Makro geschrieben habe? Weil ich damit darauf aufmerksam machen wollte, ob es nicht doch sinnvoller ist, mit einer bedingten Formatierung auf das abgelaufene Datum hinzuweisen.

Falls du doch die Meldung haben willst, dann nimm z.B. das Worksheet_Activate- oder das Workbook_Open-Event (wobei du bei einem Workbook-Ereignis noch auf das richtige Blatt referenzieren musst).
Gruß,
Helmut

----------------------------
Windows 10 Enterprise (64 Bit) / Office 365 ProPlus (32 Bit)
Benutzeravatar
HKindler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3790
Registriert: 04. Jul 2013, 09:02

Re: Ablaufdatum per VBA

Beitragvon Tom54 » 18. Jul 2019, 09:23

Hallo Helmut erstmal vielen Dank.
Die MsgBox sollte beim Öffnen der Datei aufgehen. oder geht es mit den 4 Methoden
Wie würde eine Bedingte Formatierung aussehen!

Vielen Dank Helmut
Tom54
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4
Registriert: 12. Jul 2019, 04:13

Re: Ablaufdatum per VBA

Beitragvon HKindler » 18. Jul 2019, 11:07

Hi,

die bed. Form. sieht z.B. so aus:
2019-07-18 11_52_32-Mappe1 - Excel.png


Wenn beim Öffnen eine Meldung kommen soll, könnte man das so machen:
Code: Alles auswählen
Private Sub Workbook_Open()
Dim Zelle As Range
With Worksheets("Tabelle1")
    For Each Zelle In Intersect(.Columns(12), .UsedRange)
        With Zelle
            If .Value <> "" And .Value < Date Then MsgBox "Zeile " & .Row & " ist abgelaufen!", vbExclamation
        End With
    Next Zelle
End With
End Sub
Das gibt eine Meldung pro Zeile. Wenn einfach nur alle Zeilen auf einen Schlag angezeigt werden sollen dann z.B. so:
Code: Alles auswählen
Private Sub Workbook_Open()
Dim Zelle As Range
Dim Meldung As String
With Worksheets("Tabelle1")
    For Each Zelle In Intersect(.Columns(12), .UsedRange)
        With Zelle
            If .Value <> "" And .Value < Date Then Meldung = Meldung & .Row & ", "
        End With
    Next Zelle
End With
If Meldung <> "" Then
    Meldung = Left(Meldung, Len(Meldung) - 2)
    MsgBox "Die Zeilen " & vbCrLf & Meldung & vbCrLf & "sind abgelaufen!", vbExclamation
End If
End Sub
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß,
Helmut

----------------------------
Windows 10 Enterprise (64 Bit) / Office 365 ProPlus (32 Bit)
Benutzeravatar
HKindler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3790
Registriert: 04. Jul 2013, 09:02

Re: Ablaufdatum per VBA

Beitragvon Tom54 » 08. Aug 2019, 10:10

Hallo Helmut,
sorry das ich jetzt erst schreibe, ich war im Urlaub.
Erstmals vielen Dank du hast mir sehr geholfen.
Klappt super.
Danke
Tom
Tom54
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4
Registriert: 12. Jul 2019, 04:13


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 31 Gäste