E-Mail versenden, wenn Datum erreicht
Schritt-für-Schritt-Anleitung
Um eine E-Mail aus Excel zu versenden, wenn ein bestimmtes Datum erreicht ist, kannst du den folgenden VBA-Code verwenden. Dieser Code sendet eine E-Mail basierend auf dem Fälligkeitsdatum, das in einer bestimmten Zelle steht. Die E-Mail-Adresse wird aus der benachbarten Zelle entnommen.
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject", gehe zu "Einfügen" und wähle "Modul".
- Kopiere den folgenden Code in das Modul:
Private Sub Workbook_Open()
Dim rCell As Range
Dim objApp As Object
Dim objMailItm As Object
Dim tBRng As String
Dim tReceiver As String
tBRng = "A11:A" & Sheets("ToDo").UsedRange.Rows.Count
Set objApp = CreateObject("Outlook.Application")
For Each rCell In Sheets("ToDo").Range(tBRng)
If IsDate(rCell.Offset(0, 5).Value) Then
If rCell.Offset(0, 5) - Date <= 0 Then
Set objMailItm = objApp.CreateItem(0)
With objMailItm
.BCC = rCell.Offset(0, 4) ' E-Mail-Adresse aus der benachbarten Zelle
.Subject = "Fälligkeitswarnung"
.Body = "Die Tätigkeit <" & rCell.Offset(0, 1).Value & "> wird am " & rCell.Offset(0, 5).Value & " fällig!"
.Send
End With
rCell.Offset(0, 9).Value = True
Set objMailItm = Nothing
End If
End If
Next
Set objApp = Nothing
End Sub
- Schließe den VBA-Editor und speichere die Datei als Excel-Arbeitsmappe mit Makros (
.xlsm).
- Schließe und öffne die Arbeitsmappe erneut, um das Makro auszuführen.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du keine VBA nutzen möchtest, kannst du auch auf Excel-Funktionen zurückgreifen, um eine Erinnerung für bevorstehende Fälligkeitstermine zu erstellen. Du könntest beispielsweise die WENN-Funktion zusammen mit bedingter Formatierung verwenden, um Zellen hervorzuheben, wenn das Fälligkeitsdatum in der Nähe ist.
Praktische Beispiele
Angenommen, du hast eine Excel-Tabelle mit folgenden Spalten:
- A: Tätigkeit
- B: Zuständiger
- C: Fälligkeitsdatum
Wenn du eine E-Mail senden möchtest, wenn das Fälligkeitsdatum erreicht ist, verwende den obigen Code und passe die Offset-Werte entsprechend den Spalten an.
Tipps für Profis
- Kommentare im Code: Füge Kommentare im VBA-Code hinzu, um später zu verstehen, was jeder Abschnitt tut. Zum Beispiel:
' Setzt die E-Mail-Adresse aus der benachbarten Zelle
.BCC = rCell.Offset(0, 4)
-
Testen des Codes: Teste den Code zunächst mit einer kleinen Anzahl von Datensätzen, um sicherzustellen, dass alles korrekt funktioniert.
-
Automatisierung: Du kannst das Makro so einstellen, dass es regelmäßig ausgeführt wird, indem du es in die Workbook_Open-Methode einfügst oder einen Timer verwendest.
FAQ: Häufige Fragen
1. Wie kann ich die E-Mail an mehrere Empfänger senden?
Du kannst mehrere E-Mail-Adressen durch Semikolons trennen, z.B. .BCC = rCell.Offset(0, 4) & "; " & rCell.Offset(1, 4).
2. Funktioniert dieser Code in Excel Online?
Nein, dieser VBA-Code funktioniert nur in der Desktop-Version von Excel, da Excel Online keine Makros unterstützt.
3. Kann ich die E-Mail auch an eine Gruppe senden?
Ja, du kannst eine Gruppe in Outlook definieren und die Gruppe in der .BCC-Eigenschaft verwenden.
4. Wie kann ich die E-Mail-Benachrichtigung anpassen?
Du kannst den Text in der .Body-Eigenschaft nach deinen Wünschen anpassen, um spezifische Informationen zu senden.