Excel Nachfrage: Datum aus Spalte ausgeben
Hallo Zusammen,
ich habe folgende Aufgabe bekommen:
Wir haben eine Excel in der in einer Spalte das Ablaufdatum von Produkten stehen.
Wenn ein Produkt jetzt 14 Tage vor dem Ablauf steht, soll eine E-Mail an xxx gesendet werden.
Ich habe ein Makro geschrieben, welches das Datum in der Zeile M6 prüft. Wenn das Datum M6 größer als Heute ist wird eine Mail versendet.
Sub workbook_open()
Sub automatischerVersand()
If ThisWorkbook.Worksheets("Produkte").Range("M6") > Date Then
Application.Dialogs(xlDialogSendMail).Show _
"info@mail.de", "Übersichtsliste Produkte"
End If
End Sub
Jetzt habe ich in der Spalte E natürlich ganz viele Daten übereinander stehen. Wie bekomme ich das jetzt hin, dass er mir in die Zelle M6 das Datum reinschreibt mit einem Ablaufdatum in 14 Tage [=Heute()+14] wiedergibt.
Ich habe an eine Wenn Dann Funktion gedacht aber es happert ein wenig an der Umsetzung.
vllt hat ja noch jmd von euch eine viel einfacherer Lösung.
ich habe folgende Aufgabe bekommen:
Wir haben eine Excel in der in einer Spalte das Ablaufdatum von Produkten stehen.
Wenn ein Produkt jetzt 14 Tage vor dem Ablauf steht, soll eine E-Mail an xxx gesendet werden.
Ich habe ein Makro geschrieben, welches das Datum in der Zeile M6 prüft. Wenn das Datum M6 größer als Heute ist wird eine Mail versendet.
Sub workbook_open()
Sub automatischerVersand()
If ThisWorkbook.Worksheets("Produkte").Range("M6") > Date Then
Application.Dialogs(xlDialogSendMail).Show _
"info@mail.de", "Übersichtsliste Produkte"
End If
End Sub
Jetzt habe ich in der Spalte E natürlich ganz viele Daten übereinander stehen. Wie bekomme ich das jetzt hin, dass er mir in die Zelle M6 das Datum reinschreibt mit einem Ablaufdatum in 14 Tage [=Heute()+14] wiedergibt.
Ich habe an eine Wenn Dann Funktion gedacht aber es happert ein wenig an der Umsetzung.
vllt hat ja noch jmd von euch eine viel einfacherer Lösung.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 329492
Url: https://administrator.de/contentid/329492
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar
Hier ein mögliches Skript das davon ausgeht das die Datumswerte in Spalte E2:EX stehen und in Spalte F jeweils Produktname oder Artikelnummer.
Leider fehlen ja sämtliche Infos zum Arbeitsblatt.
Gruß
Leider fehlen ja sämtliche Infos zum Arbeitsblatt.
Sub workbook_open()
Dim colExpire as New Collection
With Sheets("Produkte")
For Each cell In .Range("E2:E" & .Cells(Rows.Count,"E").End(xlUp).Row)
If cell.Value <> "" and cell.Value =< Date() + 14 Then
colExpire.Add col.Offset(0,1).Value
End If
Next
If colExpire.Count > 0 Then
With CreateObject("Outlook.Application").CreateItem(0)
.To = "empfaenger@domain.de"
.Subject = "Bald ablaufende Produkte"
strBody = "Folgende Produkte laufen innerhalb der nächsten 14 Tage ab:" & vbNewLine
For Each product In colExpire
strBody = strBody & "- " & product & vbNewLine
Next
.Body = strBody
.Display
' zum direktem senden auskommentieren
'.Send
End With
End If
End With
End Sub