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

Email aus Excel per VBA - variabler Betreff

Forumthread: Email aus Excel per VBA - variabler Betreff

Email aus Excel per VBA - variabler Betreff
08.05.2015 10:42:20
Hauser
Hallo allerseits,
ich habe eine Excel-Liste, in der Bestellungen eingetragen werden, mit fortlaufend vergebener Bestellnummer, Besteller, Betrag, Beschreibung usw.
In Tabellenblatt "Status" ist eine Übersicht zu genau einer Bestellung zu sehen. Wenn ich dort in der Zelle D6 die Bestellnummer eingebe, werden mir die übrigen Infos in der Übersicht angezeigt (und auch der Status, ob sie noch "In Bearbeitung" ist, daher der Name).
Neben dieser Übersicht habe ich einen Button, hinter dem ein Makro hinterlegt ist, um automatisch eine Bestätigungsemail in Outlook zu erstellen:
 Dim OutApp As Object, Mail As Object, i
Dim Nachricht
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.Subject = "Ihre Bestellungen (Bestellnummer )"
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Gerne möchte ich, dass sich die Bestellnummer direkt im Betreff der Email wiederfindet. Wie lässt sich das umsetzen?
Die Bestellnummer wird, wie gesagt, in Zelle D6 des selben Tabellenblatts, eingegeben.
Gruß
Hauser

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Email aus Excel per VBA - variabler Betreff
08.05.2015 10:50:59
Rudi
Hallo,
ganz einfach:
.Subject = "Ihre Bestellungen (" &Range("D6") &")"
Gruß
Rudi

AW: Email aus Excel per VBA - variabler Betreff
08.05.2015 11:04:45
Hauser
Funktioniert tadellos. Vielen Dank für die flotte Hilfe, Rudi!

AW: Email aus Excel per VBA - variabler Betreff
08.05.2015 10:53:06
Nepumuk
Hallo,
so:
.Subject = "Ihre Bestellungen (" & Range("D6").Text & ")"

Gruß
Nepumuk
Anzeige
;
Anzeige

Infobox / Tutorial

Email aus Excel per VBA - variabler Betreff


Schritt-für-Schritt-Anleitung

Um einen Email-Button in Excel zu erstellen, der eine Bestätigungsemail mit einer variablen Bestellnummer im Betreff versendet, folge diesen Schritten:

  1. Öffne Excel und erstelle ein neues oder benutze ein bestehendes Arbeitsblatt, in dem du Bestellungen verwaltest.
  2. Füge einen Button hinzu:
    • Gehe zu Entwicklertools > Einfügen > Wähle einen Button (Formularsteuerelement) aus.
    • Zeichne den Button auf dem Arbeitsblatt.
  3. Klicke mit der rechten Maustaste auf den Button und wähle Makro zuweisen.
  4. Erstelle ein neues Makro mit dem folgenden VBA-Code:
Sub EmailVersenden()
    Dim OutApp As Object, Nachricht As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set Nachricht = OutApp.CreateItem(0)
    With Nachricht
        .Subject = "Ihre Bestellungen (" & Range("D6").Value & ")"
        .Display
    End With
    Set OutApp = Nothing
    Set Nachricht = Nothing
End Sub
  1. Stelle sicher, dass die Bestellnummer in Zelle D6 des gleichen Arbeitsblatts eingegeben ist.
  2. Klicke auf den Button, um die Email zu senden.

Häufige Fehler und Lösungen

  • Fehler: Outlook öffnet sich nicht

    • Stelle sicher, dass Outlook auf deinem Computer installiert und konfiguriert ist.
  • Fehler: Betreff bleibt leer

    • Überprüfe, ob tatsächlich eine Bestellnummer in Zelle D6 eingegeben wurde. Der Code verwendet diesen Wert für den Betreff der Email.

Alternative Methoden

Eine alternative Methode, um eine Email aus Excel zu generieren, ist die Nutzung von Excel-Formeln zur Vorbereitung des Betreffs. Du kannst den Betreff in einer Zelle (z.B. E6) vorbereiten:

="Ihre Bestellungen (" & D6 & ")"

Dann passe deinen VBA-Code an, um diesen Betreff zu verwenden:

.Subject = Range("E6").Value

Praktische Beispiele

Hier ein Beispiel, wie du den Email-VBA-Code anpassen kannst, um mehr Informationen in die Email zu integrieren:

With Nachricht
    .Subject = "Ihre Bestellungen (" & Range("D6").Value & ")"
    .Body = "Details zur Bestellung:" & vbCrLf & _
            "Besteller: " & Range("A6").Value & vbCrLf & _
            "Betrag: " & Range("B6").Value & vbCrLf & _
            "Beschreibung: " & Range("C6").Value
    .Display
End With

Tipps für Profis

  • Nutze Range("D6").Text, wenn du sicherstellen möchtest, dass der Betreff der Email immer als Text dargestellt wird, unabhängig von der Excel-Zelle Formatierung.
  • Implementiere Fehlerbehandlungen in deinem VBA-Code, um sicherzustellen, dass der Benutzer benachrichtigt wird, falls etwas schiefgeht:
On Error GoTo ErrorHandler
'... (dein Code)
Exit Sub

ErrorHandler:
    MsgBox "Fehler beim Senden der Email: " & Err.Description

FAQ: Häufige Fragen

1. Wie kann ich den Betreff der Email anpassen? Du kannst den Betreff einfach im VBA-Code ändern, indem du die Zeile .Subject = "Ihr neuer Betreff" anpasst.

2. Muss ich Outlook installiert haben, um Excel-VBA-Emails zu senden? Ja, der Code verwendet Outlook, um die Emails zu senden, daher muss es auf deinem Computer installiert sein.

3. Kann ich mehrere Bestellungen in einer Email zusammenfassen? Ja, passe den VBA-Code an, um Informationen aus mehreren Zellen zu kombinieren und entsprechend im Betreff oder im Body der Email darzustellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige