Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Datei Ablaufdatum -> Email senden

Forumthread: Excel Datei Ablaufdatum -> Email senden

Excel Datei Ablaufdatum -> Email senden
13.10.2017 08:00:23
Peter
Hallo Ihr,
ich bin momentan dabei eine Excel-Liste zu erstellen, in der ich zu jedem Artikel eine Art "Mindesthaltbarkeitsdatum" habe. Meine Makro soll überprüfen, ob dieses Datum in der nächsten Woche vorliegt. Wenn ja, soll es eine E-Mail an die in der jeweiligen Zeile und in Spalte D hinterlegten E-Mailadresse senden.
Ich scheitere leider daran, dass ich mit dem Datum rechnen muss und es daher nicht als Text einlesen kann.
Meine Daten für die erste Zeile stehen in:
Haltbarkeitsdatum: B2, B3, B4, ....
E-Mailadressen: D2, D3, D4
Über Eure Hilfe freue ich mich.
Die Funktion, dass mein Programm die Mail senden soll, konnte ich mir so zusammen suchen, macht das Sinn?

Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Cells(i, 4)
.Subject = Cells(i, 1) 'hier schreibe ich den Gerätenamen rein
.Body = Cells(i, 5) 'Sendetext" 'hier möchte ich noch einfügen welches Gerät fällig  _
_
ist
.Send
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Application.Wait (Now + TimeValue("0:00:10"))

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Datei Ablaufdatum -> Email senden
13.10.2017 08:21:21
Bernd
Servus Peter,
mit einer Schleife müsste das möglich sein. Die Frage ist, wie du die Prozedur anstoßen möchtest?
Mein Versuch (ungetestet):

Option Explicit
Dim OutApp
Dim Nachricht
Dim i As Integer
Dim intLZ As Integer
Sub Mail()
intLZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To intLZ
If Cells(i, 2).Value 
Grüße, Bernd
Anzeige
AW: Excel Datei Ablaufdatum -> Email senden
13.10.2017 08:54:16
Peter
Super Bernd, vielen herzlichen Dank. Ich war die letzten drei Tage über dem Problem gesessen....
Das Makro funktioniert perfekt, momentan starte ich es über einen Button in meiner Excel-Datei, den ich so programmiert habe.
Gibt es auch die Möglichkeit den ganzen Prozess, also das Senden der Mails mit den abgelaufenen Artikeln über eine Verknüpfung/Programm vom Desktop zu starten? Oder ist das ein größere Akt?
Vielen Dank!
Peter
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel: Automatische E-Mail-Erinnerungen bei Ablaufdatum


Schritt-für-Schritt-Anleitung

Um eine Excel-Liste zu erstellen, die eine E-Mail-Benachrichtigung sendet, wenn das Mindesthaltbarkeitsdatum eines Artikels naht, folge diesen Schritten:

  1. Daten anlegen:

    • Erstelle eine Tabelle mit den folgenden Spalten:
      • A: Artikelname
      • B: Haltbarkeitsdatum (Mindesthaltbarkeitsdatum)
      • D: E-Mail-Adresse
  2. Makro erstellen:

    • Öffne den VBA-Editor (ALT + F11).
    • Füge ein neues Modul hinzu (Einfügen > Modul).
    • Kopiere und füge den folgenden Code ein:
    Option Explicit
    Dim OutApp
    Dim Nachricht
    Dim i As Integer
    Dim intLZ As Integer
    
    Sub Mail()
       intLZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
       For i = 2 To intLZ
           If Cells(i, 2).Value <= Date + 7 Then ' Überprüfe, ob das Datum in der nächsten Woche liegt
               Set OutApp = CreateObject("Outlook.Application")
               Set Nachricht = OutApp.CreateItem(0)
               With Nachricht
                   .To = Cells(i, 4)
                   .Subject = "Erinnerung: " & Cells(i, 1) ' Artikelname als Betreff
                   .Body = "Das Mindesthaltbarkeitsdatum für " & Cells(i, 1) & " läuft bald ab."
                   .Send
               End With
               Set OutApp = Nothing
               Set Nachricht = Nothing
           End If
       Next i
    End Sub
  3. Makro ausführen:

    • Du kannst das Makro über einen Button oder direkt aus dem VBA-Editor ausführen.

Häufige Fehler und Lösungen

  • Fehler: Makro sendet keine E-Mails.

    • Lösung: Stelle sicher, dass Outlook korrekt konfiguriert ist und du die richtigen Berechtigungen für das Senden von E-Mails hast.
  • Fehler: Datumsüberprüfung funktioniert nicht.

    • Lösung: Überprüfe, ob die Haltbarkeitsdaten im richtigen Datumsformat vorliegen. Excel benötigt das Datum als Zahl, nicht als Text.

Alternative Methoden

Wenn du keine Makros verwenden möchtest, kannst du auch eine Excel-Benachrichtigung bei Datum über bedingte Formatierung einrichten. Diese Methode zeigt visuelle Warnungen in deiner Tabelle an, jedoch ohne E-Mail-Versand.

  1. Markiere die Zellen in der Spalte B.
  2. Gehe zu Bedingte Formatierung > Neue Regel.
  3. Wähle Zellen formatieren, die enthalten.
  4. Setze die Regel auf Weniger als und gib =HEUTE()+7 ein.

Praktische Beispiele

  • Angenommen, du hast folgende Daten für Artikel:

    Artikelname Haltbarkeitsdatum E-Mail-Adresse
    Joghurt 2023-10-15 beispiel@mail.com
    Milch 2023-10-20 test@mail.com

    Wenn das heutige Datum beispielsweise der 10. Oktober ist, erhält die E-Mail-Adresse beispiel@mail.com eine Erinnerung, da das Joghurt in weniger als einer Woche abläuft.


Tipps für Profis

  • Automatisierung: Du kannst das Makro so planen, dass es automatisch zu bestimmten Zeiten ausgeführt wird, indem du die Windows Aufgabenplanung nutzt.
  • Fehlermeldungen: Füge Error-Handling in deinen Code ein, um mögliche Probleme beim Senden von E-Mails zu identifizieren und zu beheben.

FAQ: Häufige Fragen

1. Wie kann ich das Makro vom Desktop aus starten?
Du kannst eine Verknüpfung zu Excel auf deinem Desktop erstellen und das Makro beim Öffnen der Datei automatisch ausführen lassen. Hierzu fügst du im Workbook_Open() Event den Makroaufruf hinzu.

2. Was mache ich, wenn die E-Mails nicht gesendet werden?
Überprüfe die Sicherheits- und Datenschutzeinstellungen in Outlook, die möglicherweise das Senden von E-Mails über Makros blockieren. Aktiviere das Senden von E-Mails über VBA in den Optionen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige