Makro für Outlook: E-Mail an mehrere Empfänger versenden
Schritt-für-Schritt-Anleitung
Um mit einem Excel-Makro eine E-Mail an mehrere Empfänger in Outlook zu versenden, kannst Du folgende Schritte befolgen:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > "Einfügen" > "Modul".
-
Kopiere den folgenden Code in das neue Modul:
Sub SendMailToMultipleRecipients()
Dim OutlookApp As Object
Dim MailItem As Object
Dim AdrSammler As String
Dim Adr As Range
' Outlook-Anwendung initialisieren
Set OutlookApp = CreateObject("Outlook.Application")
Set MailItem = OutlookApp.CreateItem(0)
' Sammle E-Mail-Adressen aus dem Bereich H1:H200
For Each Adr In Range("H1:H200")
If Not IsEmpty(Adr) Then
AdrSammler = AdrSammler & Adr.Text & ";"
End If
Next Adr
' Entferne das letzte Semikolon
AdrSammler = Left(AdrSammler, Len(AdrSammler) - 1)
' E-Mail-Einstellungen
With MailItem
.Subject = Range("B2").Value
.HTMLBody = "Hier ist der Inhalt Deiner E-Mail." ' Hier kannst Du den E-Mail-Inhalt anpassen
.To = AdrSammler
.Display ' Zum Testen anzeigen, für direkten Versand .Send verwenden
End With
' Aufräumen
Set MailItem = Nothing
Set OutlookApp = Nothing
End Sub
-
Passe den Code nach Deinen Bedürfnissen an (z.B. E-Mail-Inhalt).
-
Schließe den VBA-Editor und führe das Makro aus.
Häufige Fehler und Lösungen
-
Fehler: Outlook öffnet sich nicht.
- Lösung: Stelle sicher, dass Outlook auf Deinem Computer installiert und korrekt konfiguriert ist.
-
Fehler: E-Mail wird nicht gesendet.
- Lösung: Überprüfe, ob Du im Code
.Display
oder .Send
verwendest. .Display
zeigt die E-Mail an, .Send
versendet sie direkt.
-
Fehler: E-Mail-Adressen werden nicht korrekt gesammelt.
- Lösung: Überprüfe, ob der Zellbereich korrekt definiert ist und tatsächlich E-Mail-Adressen enthält.
Alternative Methoden
Eine alternative Methode, um mehrere E-Mail-Adressen aus einer Zelle zu versenden, ist die Verwendung von Join
. Hier ist ein Beispiel:
Dim Adr() As Variant
Adr = WorksheetFunction.Transpose(Range("H1:H200").SpecialCells(xlCellTypeConstants, 2))
AdrSammler = Join(Adr, ";")
Diese Methode ist besonders nützlich, wenn Du viele E-Mail-Adressen in einer Zelle hast und diese schnell verarbeiten möchtest.
Praktische Beispiele
-
Versenden einer E-Mail an 100 Empfänger:
- Du kannst einfach den Zellbereich anpassen, um mehr Adressen einzufügen (z.B.
H1:H100
).
-
E-Mail-Anpassung:
- Ändere den E-Mail-Inhalt im
.HTMLBody
-Feld, um personalisierte Nachrichten zu senden.
Tipps für Profis
-
Nutze .CC
und .BCC
, um Kopien an andere Empfänger zu senden, ohne dass die Hauptempfänger dies sehen:
.CC = "cc@example.com"
.BCC = "bcc@example.com"
-
Verwende eine Fehlerbehandlung, um sicherzustellen, dass das Makro nicht bei einem Fehler abbricht:
On Error Resume Next
' Dein Code hier
On Error GoTo 0
FAQ: Häufige Fragen
1. Wie kann ich mehrere E-Mail-Adressen in einer Zelle kombinieren?
Du kannst die E-Mail-Adressen in einer Zelle durch Semikolons trennen und dann den Split
-Befehl verwenden, um sie in ein Array zu konvertieren.
2. Funktioniert dieses Makro in Excel 2016?
Ja, der bereitgestellte VBA-Code funktioniert in Excel 2016 und neueren Versionen.
3. Was muss ich tun, wenn mein Makro nicht ausgeführt wird?
Stelle sicher, dass die Makros in Deinen Excel-Einstellungen aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" > "Makroeinstellungen".