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

Inhalt der aktiven Zelle per E-Mail senden

Forumthread: Inhalt der aktiven Zelle per E-Mail senden

Inhalt der aktiven Zelle per E-Mail senden
24.11.2016 12:38:43
Carl
Hallo zusammen,
Ich möchte gern, dass der Inhalt der markierten Zelle per Mail gesendet wird. Der Inhalt kann im Subject und/oder im Body stehen. ActiveCell wird leider nicht akzeptiert. Kann mir jemand sagen, wie ich das hinbiegen kann? Vielen Dank!
...
SendMail "temp@example.de", "Intern", ActiveCell
...
Freundliche Grüße
Carl
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Das funktioniert so nicht, wie auch...
24.11.2016 13:03:24
Michael
Carl,
...der VBA-Hilfe zu entnehmen ist:
Workbook.SendMail-Methode
Sendet die Arbeitsmappe über das installierte E-Mail-System.
Wenn Du mit Outlook arbeitest, dann klappt das Gewünschte bspw. so:
 Sub BereichInEmailText()
Dim olApp As Object
Dim MailText As String
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
If Err Then
Set olApp = CreateObject("Outlook.Application")
End If
MailText = ActiveCell.Text
With olApp.CreateItem(0)
.To = "temp@example.de"
.Subject = "Intern"
.Body = MailText
.Display '.Send 'Mail anzeigen oder direkt senden
End With
End Sub
LG
Michael
Anzeige
Falls Du direkt aus dem System senden willst...
24.11.2016 13:05:13
Michael
Carl,
...ohne auf einen Mail-Client (Outlook) zu setzen, kannst Du Dich hier umsehen (sehr umfassend):
http://www.rondebruin.nl/win/s1/cdo.htm
LG
Michael
AW: Falls Du direkt aus dem System senden willst...
24.11.2016 13:19:50
Carl
Hallo Michael,
danke für deine Infos. Ich habe eigentlich alles soweit fertig. Ich habe das Beispiel zum versenden einer Mail mittels "Blat" hier im Forum gefunden. (https://www.herber.de/forum/archiv/988to992/990749_Email_automatisch_aus_Excel_versenden.html#991245)
Der Testaufruf klappt (wunderbar) wie folgt:
Sub Test()
SendMail "empfaenger@mail.de", "Betreff", "Mailtext..."
End Sub
Jetzt möchte ich allerdings anstatt "Mailtext..." den Inhalt der aktiven Zelle versenden. Geht das irgendwie zu machen?
Viele Grüße
Carl
Anzeige
Kenne die Software nicht, kann da nicht helfen owT
24.11.2016 15:57:40
Michael
...einfach
25.11.2016 10:56:14
EtoPHG
"Mailtext..." mit ActiveCell.Text ersetzen, Carl
Darauf könnte man auch bei VBA bescheiden kommen, oder?
Gruess Hansueli
;
Anzeige
Anzeige

Infobox / Tutorial

Inhalt der aktiven Zelle per E-Mail senden


Schritt-für-Schritt-Anleitung

Um den Inhalt der aktiven Zelle per E-Mail zu senden, kannst du das folgende VBA-Skript verwenden. Dieses Skript funktioniert am besten mit Microsoft Outlook:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub BereichInEmailText()
    Dim olApp As Object
    Dim MailText As String
    On Error Resume Next
    Set olApp = GetObject(, "Outlook.Application")
    If Err Then
        Set olApp = CreateObject("Outlook.Application")
    End If
    MailText = ActiveCell.Text
    With olApp.CreateItem(0)
        .To = "temp@example.de"
        .Subject = "Intern"
        .Body = MailText
        .Display ' oder .Send, um die Mail direkt zu senden
    End With
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem du ALT + F8 drückst und das Makro auswählst.

Damit sendest du den Inhalt der aktiven Zelle als E-Mail. Achte darauf, dass Outlook korrekt eingerichtet ist, um die E-Mail zu verschicken.


Häufige Fehler und Lösungen

  • Fehler: „ActiveCell wird nicht akzeptiert“

    • Stelle sicher, dass die Zelle tatsächlich aktiv ist, wenn du das Makro ausführst.
  • Fehler: Outlook startet nicht

    • Überprüfe, ob Outlook installiert und richtig konfiguriert ist.
  • Fehler bei der E-Mail-Zustellung

    • Vergewissere dich, dass die E-Mail-Adresse korrekt ist und dass du mit dem Internet verbunden bist.

Alternative Methoden

Falls du nicht auf Outlook zurückgreifen möchtest, kannst du die SendMail-Methode verwenden, um E-Mails direkt aus Excel zu versenden. Dazu kannst du den folgenden Code verwenden:

Sub Test()
    SendMail "empfaenger@mail.de", "Betreff", ActiveCell.Text
End Sub

Diese Methode funktioniert jedoch nur, wenn dein E-Mail-Client entsprechend konfiguriert ist.


Praktische Beispiele

Hier sind einige Beispiele, wie du verschiedene Inhalte der aktiven Zelle per E-Mail senden kannst:

  1. E-Mail mit einfachem Text:

    Sub einfacheMail()
       SendMail "beispiel@mail.de", "Betreff", ActiveCell.Text
    End Sub
  2. E-Mail mit formatierter Text-Body:

    Sub formatierteMail()
       Dim MailText As String
       MailText = "Der Inhalt ist: " & ActiveCell.Text
       With CreateObject("Outlook.Application").CreateItem(0)
           .To = "beispiel@mail.de"
           .Subject = "Betreff"
           .Body = MailText
           .Display
       End With
    End Sub

Tipps für Profis

  • Verwende Variablen für E-Mail-Adressen: Anstatt die E-Mail-Adresse hart zu codieren, kannst du sie in einer Zelle speichern und im Code darauf verweisen.
  • Fehlerbehandlung hinzufügen: Verwende On Error GoTo für eine bessere Fehlerbehandlung.
  • Automatisiere den E-Mail-Versand: Du kannst das Makro so planen, dass es zu bestimmten Zeiten automatisch ausgeführt wird.

FAQ: Häufige Fragen

1. Wie kann ich den Inhalt einer anderen Zelle senden?
Ersetze ActiveCell.Text im Code durch Range("A1").Text, um den Inhalt von Zelle A1 zu senden.

2. Funktioniert das auch ohne Outlook?
Ja, du kannst alternative Methoden wie SendMail ausprobieren, jedoch können die Funktionen eingeschränkt sein, je nach E-Mail-Client.

3. Kann ich das Makro für mehrere Zellen gleichzeitig verwenden?
Ja, du kannst eine Schleife verwenden, um durch mehrere Zellen zu iterieren und jede Zelle einzeln zu senden.

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