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

Forumthread: email senden > empfänger in zelle

email senden > empfänger in zelle
Stef@n
Hallo Excel-Freunde
mittels folgendem Makro sende ich ein email, wenn ein bestimmter Text in einer Zelle steht.
funktioniert auch wunderbar.
jetzt möchte ich noch eines erreichen
Die Empfängeradresse soll im Tabellenblatt in die Zelle L13 geschrieben werden,
Das Makro soll sich dann die Empfängeradresse entsprechend aus dieser Zelle "holen"
Mein Versuch (s.u.) funktioniert nicht
Sub OL_Senden()
Dim olApp As Object
Dim objMail As Object
'ergänzt um emailadresse aus zelle L13 zu "holen"
Dim Empfaenger As Integer
Empfaenger = [L13]
If Range("O10").Value = "TEST" Then    'email versenden, wenn in Zelle O10 = TEST steht
Set olApp = CreateObject("Outlook.Application")
Set objMail = olApp.CreateItem(olMailItem)
With objMail
'.To = "empfaenger@domain.com"   > das funktioniert !
.to = Empfaenger    'das funktioniert leider nicht
.Subject = "hier der Betreff-Textl"
.Body = "hier der email-Text"
'.Display 'zeigt die Mail nur an - du musst auf Senden klicken
.Send 'legt die Mail gleich in den Postausgang
End With
End If
'wenn du selbst auf Senden klicken willst, dann lösch die .Send-Zeile
'wenn du gleich Senden willst, dann entferne das Apostroph aus der .Send-Zeile
'und lösch die .Display-Zeile oder setz vor selbiger ein Apostroph
End Sub

Anzeige

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

Betreff
Benutzer
Anzeige
sorry - ohne gruss
10.11.2009 15:05:16
Stef@n
natürlich noch der Gruss
Freu mich auf eine Antwort
Gruss Stef@n
AW: email senden > empfänger in zelle
10.11.2009 15:12:58
Jens
Hallo Stefan
Dim Empfaenger as STRING
Gruß Jens
perfekt :) - Danke ! OT
10.11.2009 15:56:53
Stef@n
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

E-Mail aus Excel versenden: Empfänger in einer Zelle


Schritt-für-Schritt-Anleitung

Um eine E-Mail an mehrere Empfänger aus Excel zu versenden, kannst du ein Makro verwenden, das die E-Mail-Adresse aus einer bestimmten Zelle (z.B. L13) liest. Hier ist eine einfache Anleitung, wie du dies umsetzen kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub OL_Senden()
        Dim olApp As Object
        Dim objMail As Object
        Dim Empfaenger As String
        Empfaenger = Range("L13").Value ' E-Mail-Adresse aus Zelle L13 holen
    
        If Range("O10").Value = "TEST" Then ' E-Mail versenden, wenn in Zelle O10 = TEST steht
            Set olApp = CreateObject("Outlook.Application")
            Set objMail = olApp.CreateItem(0) ' olMailItem
            With objMail
                .To = Empfaenger ' Empfängeradresse aus Zelle L13
                .Subject = "Hier der Betreff-Text"
                .Body = "Hier der E-Mail-Text"
                .Send ' E-Mail sofort senden
            End With
        End If
    End Sub
  4. Speichere das Makro und schließe den VBA-Editor.

  5. Du kannst das Makro nun über Entwicklertools > Makros ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert"

    • Stelle sicher, dass du die Variable Empfaenger als String deklariert hast. Ändere Dim Empfaenger As Integer zu Dim Empfaenger As String.
  • Fehler: E-Mail wird nicht gesendet

    • Überprüfe, ob der Wert in Zelle O10 tatsächlich "TEST" ist. Das Makro wird nur ausgeführt, wenn dies der Fall ist.

Alternative Methoden

Falls du keine Programmierkenntnisse hast, kannst du auch Excel-Funktionen verwenden, um E-Mails zu versenden. Mit der Funktion HYPERLINK kannst du eine E-Mail-Vorlage erstellen:

=HYPERLINK("mailto:" & L13 & "?subject=Hier der Betreff-Text&body=Hier der E-Mail-Text", "E-Mail senden")

Diese Methode öffnet den Standard-E-Mail-Client, wenn du auf den Link klickst.


Praktische Beispiele

Wenn du z.B. eine E-Mail an mehrere Empfänger senden möchtest, kannst du die E-Mail-Adressen in einer Zelle durch Semikolons trennen:

Empfaenger = Join(Application.Transpose(Range("L13:L15")), ";")

Hierbei werden die E-Mail-Adressen aus den Zellen L13 bis L15 genommen.


Tipps für Profis

  • Nutze die CC und BCC Felder, um Kopien der E-Mail an andere Empfänger zu senden. Zum Beispiel:

    .CC = "cc@example.com"
    .BCC = "bcc@example.com"
  • Teste dein Makro in einer sicheren Umgebung, bevor du es in einem produktiven Arbeitsblatt einsetzt.


FAQ: Häufige Fragen

1. Wie kann ich E-Mails an mehrere Empfänger aus Excel versenden? Du kannst mehrere E-Mail-Adressen in einer Zelle durch Semikolons trennen und das Makro entsprechend anpassen.

2. Muss ich Outlook installiert haben, um E-Mails aus Excel zu senden? Ja, das Makro verwendet die Outlook-Anwendung, um E-Mails zu versenden. Stelle sicher, dass Outlook korrekt installiert und konfiguriert ist.

3. Was mache ich, wenn die E-Mail nicht gesendet wird? Überprüfe die E-Mail-Adresse in der Zelle L13 auf Richtigkeit und stelle sicher, dass Outlook geöffnet ist.

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