Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: automatische Email aus Excel zu Geburtstag

automatische Email aus Excel zu Geburtstag
Steffen
Hallo zusammen,
ich habe eine Frage, da ich leicht überfordert bin =)
Gibt es die Möglichkeit über ein VBA Programm folgendes zu tun:
Ich habe eine Excelliste mit Namen und Geburtsdaten.
Nun will ich wenn entsprechende Personen Geburtstag haben automatisch eine Email über Outlook mit einem bestimmten Text z.B. "Hallo Geburtstagskind, wir wünschen dir alles gute zu deinem Geburtstag. Viele Grüße deine Familie" versenden.
Ist so etwas möglich? Vielen Dank über eure Hilfe!
Grüße
Steffen
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: automatische Email aus Excel zu Geburtstag
05.12.2010 13:31:34
Tino
Hallo,
ja sowas ist möglich, Du müsstest aber jeden Tag die Exceldatei einmal öffnen.
Ich würde es in etwa so angehen.
Datei öffnen
Suchen ob ein Tag + Monat in der Liste vorkommt
wenn ja, Mail generieren und versenden.
diese Adresse (Zeile) markieren damit nicht mehrmals gesendet wird.
Hier ein einfaches Beispiel dazu.
https://www.herber.de/bbs/user/72598.xls
Gruß Tino
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Automatische Geburtstagsmails aus Excel versenden


Schritt-für-Schritt-Anleitung

Um eine automatische Email aus Excel zu generieren und an Geburtstagskindern zu versenden, kannst Du folgendes VBA-Skript nutzen. Stelle sicher, dass Du die Excel-Datei täglich öffnest, um die Geburtstagsmails zu versenden.

  1. Excel vorbereiten: Erstelle eine Excel-Tabelle mit den Spalten Name, Geburtstag, Email.
  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul einfügen: Klicke auf Einfügen > Modul.
  4. VBA-Code einfügen: Kopiere und füge den folgenden Code in das Modul ein:
Sub Geburtstagserinnerung()
    Dim ws As Worksheet
    Dim cell As Range
    Dim emailBody As String
    Dim birthday As Date
    Dim today As Date
    Dim OutApp As Object
    Dim OutMail As Object

    today = Date
    Set ws = ThisWorkbook.Sheets("Tabelle1") ' Ändere den Tabellennamen nach Bedarf
    Set OutApp = CreateObject("Outlook.Application")

    For Each cell In ws.Range("B2:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)
        If cell.Value <> "" Then
            birthday = cell.Value

            If Month(birthday) = Month(today) And Day(birthday) = Day(today) Then
                Set OutMail = OutApp.CreateItem(0)
                emailBody = "Hallo " & ws.Cells(cell.Row, 1).Value & "," & vbCrLf & _
                            "wir wünschen dir alles Gute zu deinem Geburtstag." & vbCrLf & _
                            "Viele Grüße, deine Familie."

                With OutMail
                    .To = ws.Cells(cell.Row, 3).Value ' Email-Adresse
                    .Subject = "Herzlichen Glückwunsch zum Geburtstag!"
                    .Body = emailBody
                    .Send ' oder .Display, wenn Du die Email zuerst sehen möchtest
                End With

                Set OutMail = Nothing
            End If
        End If
    Next cell
    Set OutApp = Nothing
End Sub
  1. Skript ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle Geburtstagserinnerung und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: "Benutzerdefinierte Funktion ist nicht definiert"
    Lösung: Überprüfe, ob Du das korrekte Modul in der Excel-Datei ausgewählt hast und der Tabellennamen im Code übereinstimmt.

  • Fehler: Outlook öffnet sich nicht
    Lösung: Stelle sicher, dass Outlook korrekt installiert und konfiguriert ist, und dass Du die Excel-Datei als Administrator ausführst.


Alternative Methoden

Es gibt auch andere Wege, geburtstagsgrüße automatisch zu versenden:

  • Power Automate: Mit Microsoft Power Automate kannst Du Workflows erstellen, die Emails basierend auf Ereignissen in Excel oder Outlook auslösen.
  • Excel Add-Ins: Diverse Add-Ins ermöglichen das Versenden von Geburtstagsmails direkt aus Excel, ohne VBA-Kenntnisse.

Praktische Beispiele

  • Beispiel für eine Geburtstagsliste:
Name Geburtstag Email
Max Müller 01.01.2023 max.mueller@example.com
Anna Schmidt 05.02.2023 anna.schmidt@example.com
  • Textvorlage für die Email:
    • "Herzlichen Glückwunsch zum Geburtstag, [Name]! Wir wünschen Dir alles Gute."

Tipps für Profis

  • Planung der Mails: Du kannst das Skript so anpassen, dass es Geburtstagsmails nicht nur an dem Tag, sondern auch einige Tage vorher sendet.
  • E-Mail-Vorlagen: Nutze Outlook-Vorlagen, um Deine Geburtstagsgrüße per Email noch persönlicher zu gestalten.
  • Loggen der gesendeten Mails: Erweitere den Code, um eine Historie der gesendeten Geburtstagsmails zu führen, um Duplikate zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass die Emails nicht mehrmals gesendet werden?
Antwort: Du kannst eine zusätzliche Spalte in Deiner Excel-Tabelle einfügen, um bereits versendete Emails zu kennzeichnen.

2. Frage
Muss ich Outlook geöffnet haben, um das Skript auszuführen?
Antwort: Ja, das Skript benötigt eine aktive Outlook-Instanz, um die Emails zu versenden.

3. Frage
Kann ich das Skript für andere Anlässe anpassen?
Antwort: Ja, Du kannst die Bedingungen im Skript ändern, um Emails für jeden gewünschten Anlass zu generieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige