E-Mail per Userform in Excel versenden
Schritt-für-Schritt-Anleitung
Um eine E-Mail über eine Userform in Excel zu versenden, benötigst du einige grundlegende Kenntnisse in VBA (Visual Basic for Applications). Befolge diese Schritte, um deine eigene Userform zu erstellen:
-
Userform erstellen:
- Öffne Excel und gehe zu
Entwicklertools
> Visual Basic
.
- Füge eine neue Userform hinzu, indem du auf
Einfügen
> UserForm
klickst.
-
Steuerelemente hinzufügen:
- Ziehe eine
TextBox
und ein ListBox
auf die Userform.
- Füge einen
CommandButton
hinzu, der den Versand der E-Mail auslösen soll.
-
Code für die Userform hinzufügen:
- Doppelklicke auf die Userform und füge den folgenden Code in das
UserForm_Initialize
-Ereignis ein, um die Auswahlbox zu füllen:
Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem "Beispiel1"
.AddItem "Beispiel2"
End With
End Sub
-
Code für den E-Mail-Versand:
- Doppelklicke auf den
CommandButton
und füge diesen Code ein:
Private Sub CommandButton1_Click()
Dim outObj As Object
Dim Mail As Object
If TextBox1.Text <> "" And ListBox1.Text <> "" Then
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "Text für Betreffzeile"
.Body = "Sehr geehrter Herr .......... " & Chr(13) & _
"weiterer Text " & TextBox1.Text & Chr(13) & _
ListBox1.Text & Chr(13) & _
"weiterer Text " & "Mit freundlichen Grüßen " & Chr(13)
'.To = "abc@xyz.de" ' Adressfeld
' .CC = "abc@xyz.de" ' CC-Feld
End With
Mail.Display
Else
MsgBox "Bitte Pflichtfelder füllen!"
End If
Set Mail = Nothing
Set outObj = Nothing
End Sub
-
Testen der Userform:
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe die Userform aus, gib die erforderlichen Informationen ein und klicke auf den Button, um die E-Mail zu versenden.
Häufige Fehler und Lösungen
-
Fehler: "Objekt nicht gefunden":
- Stelle sicher, dass Outlook installiert und konfiguriert ist. Der Code erstellt eine Instanz von Outlook, die vorhanden sein muss.
-
Fehler: E-Mail wird nicht gesendet:
- Überprüfe, ob die
To
- und CC
-Felder korrekt ausgefüllt sind. Wenn sie leer sind, wird die E-Mail möglicherweise nicht gesendet.
-
Fehler: Pflichtfelder nicht ausgefüllt:
- Vergewissere dich, dass die TextBox und die ListBox Daten enthalten, bevor du auf den Button klickst.
Alternative Methoden
Falls du keine Userform verwenden möchtest, kannst du auch einfach VBA-Makros verwenden, um E-Mails direkt aus Excel zu versenden. Hier ist ein einfaches Beispiel:
Sub SendEmail()
Dim outObj As Object
Dim Mail As Object
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.To = "abc@xyz.de"
.Subject = "Betreff"
.Body = "Nachrichtentext"
.Send
End With
Set Mail = Nothing
Set outObj = Nothing
End Sub
Praktische Beispiele
Hier ist ein praktisches Beispiel, wie du die Userform konfigurieren kannst. Angenommen, du möchtest eine Umfrage per E-Mail versenden:
-
Userform-Elemente:
- TextBox für den Umfrageteilnehmer.
- ListBox mit verschiedenen Umfrageoptionen.
-
Code zum Versenden:
- Nutze den oben gegebenen Code und passe den Text im Body an, um die Umfrageergebnisse zu übermitteln.
Tipps für Profis
FAQ: Häufige Fragen
1. Kann ich auch E-Mails an mehrere Empfänger senden?
Ja, du kannst mehrere E-Mail-Adressen im To
-Feld durch ein Semikolon getrennt angeben.
2. Ist es nötig, Outlook installiert zu haben?
Ja, der Code verwendet Outlook zur Erstellung und zum Versand der E-Mail. Stelle sicher, dass Outlook korrekt konfiguriert ist.
3. Funktioniert dies in allen Excel-Versionen?
Die oben genannten Schritte sollten in den meisten Excel-Versionen ab 2007 funktionieren, solange VBA unterstützt wird.