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

Forumthread: Zellenbereich als Grafik in E-mail einfügen

Zellenbereich als Grafik in E-mail einfügen
19.05.2017 10:23:04
Sven
Guten Morgen,
und zwar habe ich gestern hier schon gute Hilfe von einem User erhalten, was mir das versenden einer E-Mail beim erfüllen bestimmter Bedingungen erlaubt.
Der bisherige Quelltext sieht wie folgt aus:
Sub Preisalarm()
Const BETREFF$ = "Preisalarm!" 'Betreff
Const ANREDEM$ = "Sehr geehrter Herr " 'Anrede Mann
Const ANREDEF$ = "Sehr geehrte Frau " 'Anrede Frau
Const MAILTEXT$ = "Das ist ein Standardtext für den Preisalarm!" 'Mailtext
Const SCHLUSS$ = "Mit freundlichen Grüßen" & vbCrLf & vbCrLf & "Ihr Preiswecker!" 'Gruß _
formel
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim Liste As Range, Eintrag As Range
Dim Ol As Object
On Error Resume Next
Set Ol = GetObject(, "Outlook.Application") 'Outlook öffnen
If Err Then Set Ol = CreateObject("Outlook.Application")
Set Liste = Ws.Range("A5:A" & Ws.Cells(Ws.Rows.Count, 1).End(xlUp).Row) 'Geht Tabelle ab A5  _
runter
For Each Eintrag In Liste
With Eintrag
If .Offset(, 3).Value = .Offset(, 5).Value Then 'Wenn D=F, dann
With Ol.CreateItem(0)
.Subject = BETREFF
.To = Eintrag.Offset(, 6).Value 'an E-mail in G
.Body = IIf(Eintrag.Offset(, 7) = "Herr", ANREDEM, ANREDEF) & _
Eintrag.Offset(, 8).Value & "," & vbLf & vbLf & _
MAILTEXT & vbLf & vbLf & _
"GP: " & Eintrag.Offset(, 1) & "|TP: " & Eintrag.Offset(, 3) & _
"|Min: " & Eintrag.Offset(, 4) & "|Max: " & Eintrag.Offset(, 5) & _
vbLf & vbLf & _
SCHLUSS '& Eintrag.Value --> Eintrag aus A
.Display 'Mail anzeigen, manuell senden
End With
End If
End With
Next Eintrag
End Sub
Nun möchte ich hier nurnoch einbauen, dass ich einen bestimmten Zellenbereich kopiere und als Grafik in die E-Mail einfüge.
Folgenden Quelltext dafür habe ich mir bereits überlegt:
Range("D5:F5").Select
Selection.Copy
Wählt den Bereich aus und kopiert ihn in die Zwischenablage.
Wenn ich es innnerhalb der Excel-Datei (z.B. Zelle M15) einfüge funktioniert es mit folgendem Code:
Range("M15").Select
ActiveSheet.Pictures.Paste.Select
ActiveSheet.Shapes.Range(Array("")).Select
Das einfügen in die E-Mail will mir aber einfach nicht gelingen.
Kann jemand helfen?
LG
Sven
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Es geht also weiter...
19.05.2017 11:42:50
Michael
Hallo Sven...
Warum Du...
- gestern eine Bsp-Datei hochlädst, aber heute nicht...
- Anforderungen scheibchenweise nachlieferst (aka Salamitaktik)...
- offenbar noch immer kein Geld für eine professionelle Programmierung ausgeben willst...
...weißt wohl nur Du. Aber weil ich gestern schon dran war, hier die gewünschte Ergänzung, in Deiner gestrigen Bsp-Datei: https://www.herber.de/bbs/user/113691.xlsm
Klar ist: Mit Bereich als Bild geht das nur über ein HTML-Email, ist daher etwas aufwändiger als die Text-Mail von gestern. Nachdem der von Dir angegebene Bildbereich jenen Daten entspricht, die auch als Text mitgegeben werden, würde ich da anpassen (der Text Min, Max etc. ist dann aus meiner Sicht nicht mehr erforderlich).
LG
Michael
Anzeige
AW: Es geht also weiter...
19.05.2017 12:29:12
Sven
Hallo Michael,
sorry, ich bin noch dabei, den Umgang mit VBA zu lernen und versuche meine Ideen umzusetzen.
In erster Linie versuche ich aus deinen Quellcodes zu lernen. ^^
Danke dir auf jeden Fall (mal wieder)!
Ja, dass mit dem Text etc. passe ich sowieso alles noch an.
Mir ging es ja nur um das Prinzip, da ich da jetzt schon eine Weile dran tüftle.
Ich sehe, du hast das Diagramm über den Spaltenindex ((3-5),wenn man das so nennt) deklariert.
Geht das auch über eine Tabelle mit mehreren Zeilen, also z.B. K2:N7 ?
Meines Gedankengangs nach müsste ich dafür noch einen Zeilenindex (hier dann 2-7 bzw. 1-6) einfügen?
Gruß Sven
Anzeige
AW: Zellenbereich als Grafik in E-mail einfügen
19.05.2017 13:03:42
Sven
Edit: Haken vergessen...
AW: Zellenbereich als Grafik in E-mail einfügen
19.05.2017 13:12:06
Sven
Habe es selbst hinbekommen, danke!
Großes Lob an dich für deine Geduld Micha, klasse!
Gruß S.
Danke für die Rückmeldung, viel Erfolg noch! owT
19.05.2017 13:25:15
Michael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellenbereich als Grafik in E-Mail einfügen


Schritt-für-Schritt-Anleitung

Um einen Zellenbereich als Grafik in eine E-Mail einzufügen, gehe wie folgt vor:

  1. Bereich auswählen und kopieren: Wähle den Zellenbereich aus, den Du als Grafik einfügen möchtest. Zum Beispiel:

    Range("D5:F5").Select
    Selection.Copy
  2. E-Mail erstellen: Erstelle eine E-Mail über Outlook mit VBA, wie im folgenden Beispiel:

    Dim Ol As Object
    Set Ol = CreateObject("Outlook.Application")
    With Ol.CreateItem(0)
       .Subject = "Betreff hier"
       .To = "empfaenger@example.com"
       .Body = "Hier ist die Grafik:"
       .Display 'E-Mail anzeigen
    End With
  3. Grafik einfügen: Füge die kopierte Grafik in die E-Mail ein:

    'Nach dem Erstellen der E-Mail
    ActiveSheet.Pictures.Paste.Select
    Ol.ActiveInspector.CurrentItem.HTMLBody = Ol.ActiveInspector.CurrentItem.HTMLBody & "<br>" & Selection.Name
  4. E-Mail manuell senden: Du kannst die E-Mail jetzt überprüfen und manuell senden.


Häufige Fehler und Lösungen

  • Grafik wird nicht angezeigt: Stelle sicher, dass die E-Mail im HTML-Format erstellt wird. Nur so werden Grafiken korrekt angezeigt.

  • Outlook öffnet sich nicht: Überprüfe, ob Outlook richtig installiert ist und ob Du die richtigen Berechtigungen hast.

  • Falscher Zellenbereich: Achte darauf, dass der Zellenbereich, den Du kopieren möchtest, korrekt ausgewählt ist.


Alternative Methoden

Wenn Du die Excel-Tabelle in E-Mail einfügen möchtest, kannst Du auch die folgenden Methoden in Betracht ziehen:

  • Gmail Bilder einbetten: Du kannst die Excel-Tabelle als Bild speichern und dann in Gmail als Bild einfügen. Nutze dazu den "Snipping Tool" oder ähnliche Programme.

  • Excel-Tabelle in E-Mail einfügen: Eine einfachere Methode besteht darin, die Tabelle direkt zu kopieren und in die E-Mail einzufügen. Diese Methode ist jedoch nicht als Grafik, sondern als Tabelle.


Praktische Beispiele

Hier sind einige nützliche Beispiele, die Dir beim Einfügen von Grafiken in E-Mails helfen können:

  1. VBA-Code zum Einfügen eines größeren Bereichs:

    Range("K2:N7").Select
    Selection.Copy
    'E-Mail Code hier...
  2. E-Mail mit Grafiken und Text:

    .Body = "Hier ist die Grafik:<br>" & Selection.Name

Tipps für Profis

  • HTML-Format verwenden: Stelle sicher, dass Du das HTML-Format für die E-Mail verwendest, um Grafiken korrekt darzustellen.

  • Outlook-Haken einfügen: Du kannst auch Haken oder andere Symbole in Deine E-Mail einfügen, um die Nachricht visuell ansprechender zu gestalten.

  • Automatisierung: Automatisiere den Prozess mit VBA, um regelmäßig Berichte per E-Mail zu versenden.


FAQ: Häufige Fragen

1. Wie kann ich eine Excel-Tabelle in eine E-Mail einfügen?
Du kannst die Tabelle kopieren und in die E-Mail einfügen. Achte darauf, dass die E-Mail im HTML-Format verfasst wird.

2. Ist es möglich, mehrere Zellen als Grafik in die E-Mail einzufügen?
Ja, wähle einfach den gewünschten Bereich aus und kopiere ihn, wie im Tutorial beschrieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige