Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Email-Makro bitte um Hilfe

Email-Makro bitte um Hilfe
17.10.2018 14:43:46
Moritz
Hallo,
ich bräuchte eure Hilfe. In der angehängten Excel mit Makro wird eine Email pro Person erzeugt und der zum Namen gehörige Tabellenbereich in den Body der Mail eingefügt.
Mein Problem wäre jetzt wenn die Spalten nicht nur bis H befüllt sind, sonder bspw. bis Spalte W. Wie kann ich dann den einzufügenden Bereich bspw. bis Spalte H begrenzen, so dass nicht der komplette Tabellenbereich/zeile bis W übergeben wird.
Eine weitere Frage wäre noch was ich ändern müsste wenn ich die Spalte A mit Namen löschen würde, damit das Makro immer noch funktioniert. Also wäre dann in Spalte A die Empfängeradresse nach der dann auch gezählt/sortiert wird.
Vielen Dank schon mal im Vorraus.
Moritz
https://www.herber.de/bbs/user/124694.xlsm

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

Betreff
Datum
Anwender
Anzeige
Zu Punkt 1 (Spalte H - W)
17.10.2018 15:16:03
Klexy
Ersetz diese Zeile:
Set rSel = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count)

durch diese Zeile:
Set rSel = .Offset(1, 0).Resize(.Rows.Count - 1, 8)

Also nur bis zur 8. Spalte (H) und nicht soviele Spalten du zählen kannst, weil sie befült sind.
AW: Zu Punkt 1 (Spalte H - W)
18.10.2018 14:09:28
Moritz
Vielen vielen Dank für deine Hilfe.
Wie ist es noch möglich den Tabellenbereich linksbündig anstatt mittig in die Email einzufügen?
Zu Punkt 2 (Namen weglassen)
17.10.2018 15:33:09
Klexy
Dazu kannst du alle Bereiche mit DicNames weglassen. Die wären als Selektionskriterium sowieso nicht hilfreich, wenn du zwei Leute mit dem gleichen Vornamen, aber mit unterschiedlicher E-Mail-Adresse hast. Und auf was es meinem Verständnis nach ankommt, ist , dass jede E-Mail-Adresse eine Mail bekommt.
Und bei den DicMail nimmst du statt
For Each c In .Offset(1, 1).Resize(.Rows.Count - 1, 1)

folgendes:
For Each c In .Offset(1, 0).Resize(.Rows.Count - 1, 1)
Bei der Abarbeitung
For Each k In DicNames.keys

nimmst du dann entsprechend
For Each k In DicMail.keys
Das sollte helfen.
Du kannst die Name-Spalte im Prinzip auch drin lassen und im Makro ignorieren und deinen Mail-Body einfach nur ab der zweiten Spalte befüllen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige