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

Forumthread: Zeilenumbruch im String

Zeilenumbruch im String
28.11.2017 13:34:41
Anna
Hallo,
ich hoffe Ihr könnt mir weiterhelfen. Ich sitze gerade an einem Makro, dass aus einer EXCEL-Datei heraus eine E-Mail versenden soll. Die Anrede sowie die E-Mail-Adressen stehen in Zellen auf dem Deckblatt. Jede Adresse steht in einer extra Zeile.
Die Schleife für die E-Mail-Adressen funktioniert wunderbar, aber mit der Schleife, die die Anrede der E-Mail füllen soll, habe ich so meine Probleme: Auf die Anrede soll immer ein Zeilenumbruch folgen (Anrede 1, Zeilenumbruch, Anrede 2, Zeilenumbruch, usw.).
Das Skript funktioniert auch, ich habe nur das Problem, dass es im Testlauf so aussieht, dass er die Anrede 1, Zeilenumbruch, Anrede 2, Zeilenumbruch, Zeilenumbruch, Zeilenumbruch, usw. schreibt und dann erst irgendwo ganz unter der eigentliche Text zu lesen ist. Nach der letzten Anrede würde mir aber schon ein Zeilenumbruch reichen. Ich habe jetzt ein bisschen rumprobiert, aber komme nicht weiter.
Kann mir irgendjemand helfen?
Das ist das, was ich bisher gemacht habe:
Dim OutApp As Object
Dim OutMail As Object
Dim i As Long
Dim MailVerteiler As String
Dim MailAnrede As String
MailVerteiler = " "
MailAnrede = ""
With Sheets("Deckblatt")
For i = 19 To .UsedRange.Rows.Count + .UsedRange.Row - 1
If .Cells(i, 2).Value " " Then
MailVerteiler = MailVerteiler & .Cells(i, 4).Value & ";"
End If
Next i
If Trim(MailVerteiler) " " Then
MailVerteiler = Left(MailVerteiler, Len(MailVerteiler) - 1)
End If
For i = 19 To .UsedRange.Rows.Count + .UsedRange.Row - 1
If .Cells(i, 2).Value " " And .Cells(i + 1, 2).Value " " Then
MailAnrede = MailAnrede & .Cells(i, 7).Value & vbCrLf
Else
Exit For
End If
Next i
If Trim(MailAnrede) " " Then
MailAnrede = Left(MailAnrede, Len(MailAnrede) - 1)
End If
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = MailVerteiler
.Subject = "Test"
.Body = MailAnrede & _
"Test Test Test"
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Schau Dir mal die...
28.11.2017 13:56:13
Case
Hallo Anna, :-)
... "If-Prüfungen" an allen Stellen in deinem Code an: ;-)
If .Cells(i, 2).Value  " " Then
Du prüfst, ob die Zelle ein Leerzeichen enthält, willst aber wahrscheinlich auf leere Zelle prüfen: ;-)
If .Cells(i, 2).Value  "" Then
Ändere das mal an ALLEN Stellen.
Servus
Case

Anzeige
AW: Schau Dir mal die...
28.11.2017 14:19:58
Anna
Hallo Case,
vielen Dank für den Hinweis. Habe es geändert und es funktioniert genau so, wie ich es mir vorgestellt habe. Vielen Dank! :)
Liebe Grüße
Anna
;

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

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