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

Forumthread: Zeilen per Mail versenden

Zeilen per Mail versenden
02.07.2004 10:02:04
Stefan
Hallo liebe Excel Freunde,
ich möchte gerne aus einer Tabelle heraus jede Zeile einzeln per Email (via Outlook) versenden.
Jede Information (Empfänger etc.) steht in einer seperaten Spalte.
Wenn möglich sollte jede zelle die im Body steht mit einer neuen Zeile beginnen.
Es sollen alle Zeilen bis zu letzten gefüllten automatisch verschickt werden.
Die Beiträge die ich bisher gefunden habe, bezogen sich immer auf das versenden von Tabellen oder dateianhängen. Ich möchte lediglich eine Email aus 5-10 zellen generieren.
Beispiel
A B C D
1 Empfänger@email.com Betreff 1. Zeile Body 2. Zeile Body
Resultat
AN: Empfängerqemail.com
Betreff: Betreff
1. Zeile Body
2. Zeile Body
MfG
kann mir jemand hierbei helfen. wie gesagt, die beispiele die ich gefunden habe versenden immer nur die ganze tabellen etc. ich kann gerne die beispiele posten
thx. für jede hilfe !!!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen per Mail versenden
02.07.2004 11:17:08
Jens
Hi Stefan!
Probiere vielleicht mal was mit "ActiveCell.Offset(xx, xx)" falls Mailempfänger z.B. in einer bestimmten (aktiven) Zelle stehen oder definiere den Sendebereich als range. Mehrere einzelne Zellen kannst Du im Body durch "&" verknüpfen ...
Grüße,
Jens
meine bisheriger stand...aber noch nicht fertig
02.07.2004 11:37:17
stefan
hi jens,
das ist mein bisheriger stand:

Sub Excel_Serienmail_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object
Dim i As Integer
Dim Nachricht
Dim c As Range
Dim s As String
For i = 1 To 10
'Variablen müssen bei jeder Schleife neu initalisiert werden
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Cells(i, 1) 'Adresse
.Subject = Cells(i, 2) 'Betreffzeile
For Each c In Range("C1:F1")
s = s & c & vbCrLf
Next
.body = s
'Sendetext
'Hier wird die Mail zuerst angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Variablen zurücksetzen sonst geht es nicht
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub

zwei probleme habe ich jetzt noch:
1. es werdne nur die ersten 10 zeilen in der schleife behandel. wie kann ich festlegen, das die schleife bis zur letzen nicht leeren zelle arbeitet.
2. ich habe
For Each c In Range("C1:F1")
s = s & c & vbCrLf
Next
.body = s
eingebaut, wobei ich zwei probleme habe (ich kenne mich in VBA nicht so gut aus!!)
die range soll immer pro zeile gelten und
bei meinen tests, wird die angegebene Range in jeder mail zusätzlich eingefügt. d.h. die range kommt in der ersten mail 1 mal in der zweiten mail 2 etc. vor.
hast du da einen tip ?
thx
stefan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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