Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: E-Mail mit VBA erzeugen

E-Mail mit VBA erzeugen
24.06.2007 19:22:37
Herrmann
Hallo zusammen,
ich habe folgendes VBA-Problem und finde keine Lösung:
Ich würde gerne eine Mail mit VBA erzeugen. Allerdings möchte ich nicht im Code hinterlegen, wer der Empfänger dieser Mail ist und wie der Text lautet.
Ich möchte, dass diese Information aus meinem Worksheet „Michael“ ausgelesen wird. In A1 steht die Adresse, in A2 die Anrede, in A3 steht der Text, in A4 steht „Gruß Herrmann“.
Beispiel:
A1: beispiel@gmx.de
A2: Hallo Sven,
(Leerzeile)
A3: Wie geht es dir?
(Leerzeile)
A4: Gruß Herrmann
Bevor das Ganze verschickt wird, möchte ich mir die Mail nochmals ansehen und manuell verschicken.
Habt ihr Idee für mich?
Vielen Dank im Voraus!
Gruß
Herrmann

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: E-Mail mit VBA erzeugen
24.06.2007 19:42:28
Tino
Hallo,
hier der Code, musst ihn nur noch für deine Zwecke anpassen!
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "Hier kommt die Adresse rein"
.Subject = "hier der Betreff"
.body = "Mein Text"
.Display
'.Send 'Hier wird die Mail gesendet
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing

Gruss
Tino

Anzeige
AW: E-Mail mit VBA erzeugen
24.06.2007 19:45:17
Herrmann
Hallo Tino,
vielen Dank. Das ist nun aber genau das Ergebnis, dass ich nicht will. Ich möchte nicht im Code festlegen, wie der Text lautet und wer der Empfänger ist. Ich möchte, dass diese Informationen aus einer Tabelle ausgelesen werden.
Gruß
Herrmann

AW: E-Mail mit VBA erzeugen
24.06.2007 19:48:27
Tino
Hallo,
versuche es so
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = Range("A1")
.Subject = Range("A2")
.body = Range("A3") & CHR(13) & Range("A4")
.Display
'.Send 'Hier wird die Mail gesendet
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
Gruss
Tino

Anzeige
AW: E-Mail mit VBA erzeugen
24.06.2007 20:08:27
Herrmann
Hallo Tino,
super!! Vielen Dank!! Genau das habe ich gebraucht. Gibt es noch eine Möglichkeit die Priorität "hoch" einzustellen?
Vielen Dank im Voraus!
Gruß
Herrmann

AW: E-Mail mit VBA erzeugen
24.06.2007 21:05:00
Tino
Hallo,
füge in die CodeZeile dies noch ein
.Importance = 2
nun sollte die Wichtigkeit auf hoch stehen!
Gruss
Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

E-Mail mit VBA erzeugen


Schritt-für-Schritt-Anleitung

Um eine E-Mail mit VBA zu erstellen und die Informationen aus einem Excel-Arbeitsblatt auszulesen, kannst Du folgenden Code nutzen. Dieser Code setzt voraus, dass Du Microsoft Outlook installiert hast.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere und füge den folgenden Code in das Modul ein:
Sub EmailErstellen()
    Dim MyOutApp As Object
    Dim MyMessage As Object

    ' Outlook-Anwendung erstellen
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)

    With MyMessage
        .To = Range("A1").Value ' E-Mail Adresse
        .Subject = Range("A2").Value ' Betreff
        .Body = Range("A3").Value & vbCrLf & vbCrLf & Range("A4").Value ' Nachricht
        .Importance = 2 ' Hoch
        .Display ' Anzeige der E-Mail
        '.Send ' Hier wird die Mail gesendet
    End With

    ' Objekte freigeben
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub
  1. Stelle sicher, dass die E-Mail-Adresse in Zelle A1, der Betreff in A2, der Nachrichtentext in A3 und die Grußformel in A4 steht.
  2. Führe das Makro aus (F5 oder über das Menü).

Häufige Fehler und Lösungen

  • Fehler: "Objekt kann nicht gefunden werden"

    • Stelle sicher, dass Outlook installiert und korrekt konfiguriert ist.
  • Fehler: E-Mail wird nicht angezeigt

    • Überprüfe, ob der .Display-Befehl korrekt platziert ist.
  • Das Makro funktioniert nicht

    • Stelle sicher, dass Du die Makros in Excel aktiviert hast (Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen).

Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die folgenden Methoden in Betracht ziehen:

  • Manuelle Erstellung der E-Mail: Du kannst die Informationen manuell aus Excel kopieren und in Outlook einfügen.
  • Excel-Funktionen: Verwende die HYPERLINK-Funktion, um E-Mail-Links zu erstellen, z.B. =HYPERLINK("mailto:" & A1 & "?subject=" & A2 & "&body=" & A3 & "%0A" & A4), um eine E-Mail zu generieren.

Praktische Beispiele

Angenommen, Du hast folgende Daten in Excel:

A B
A1: beispiel@gmx.de
A2: Hallo Sven,
A3: Wie geht es dir?
A4: Gruß Herrmann

Mit dem oben genannten VBA-Code kannst Du eine E-Mail direkt aus diesen Zellen erstellen. Das Skript liest die Daten und öffnet die E-Mail mit den entsprechenden Inhalten.


Tipps für Profis

  • Nutze vba send email, um die E-Mail direkt zu versenden, ohne sie anzuzeigen.
  • Verwende CC oder BCC, um Kopien der E-Mail an andere Empfänger zu senden:
    .CC = "another@example.com"
    .BCC = "hidden@example.com"
  • Experimentiere mit weiteren Outlook-Eigenschaften, wie Attachments.Add, um Dateien anzuhängen.

FAQ: Häufige Fragen

1. Wie kann ich die E-Mail automatisch senden? Um die E-Mail automatisch zu senden, ersetze .Display durch .Send im Code.

2. Wie kann ich die E-Mail an mehrere Empfänger senden? Trenne die E-Mail-Adressen mit einem Semikolon: .To = "adresse1@gmx.de; adresse2@gmx.de".

3. Kann ich die E-Mail-Vorlage speichern? Die E-Mail-Vorlage selbst kann nicht direkt gespeichert werden, aber Du kannst den VBA-Code anpassen, um Templates zu nutzen.

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