Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

Mittels Makro ein Formular an 2 Mails gleichz...

Mittels Makro ein Formular an 2 Mails gleichz...
Holger
Hallo Leute,
mein Subject war ein bisserl lang, daher nochmal komplett:
Betreff: Mittels Makro ein Formular an 2 Mails gleichzeitig über Outlook 2003 senden.
*******************
IST - Zustand:
Ich bin Gitarrenlehrer und verschicke an meine Schüler sogenannte Nachbereitungen nach der Stunde. Dieser Vorgang kostet Zeit und ich will ihn weitestgehend automatisieren. Bis dato ist mir folgendes Makro funktionsfähig gelungen:

Sub Email()
'Bildschirmaktualisierung während des Makro-Prozesses ausstellen
Application.ScreenUpdating = False
'Arbeitsblatt EMAIL auswählen
Sheets("EMAIL").Select
'dort alle Zellen auswählen (entspricht STRG+A)
Cells.Select
'dort evtl. von vorher noch vorhandene Zellen löschen
Selection.Delete Shift:=xlUp
'Arbeitsblatt YOUTUBE auswählen
Sheets("YOUTUBE").Select
'dort alle Zellen auswählen (entspricht STRG+A)
Cells.Select
'Kopieren durchführen, jedoch von eingeblendeten Zellen
Selection.SpecialCells(xlCellTypeVisible).Copy
'Arbeitsblatt EMAIL auswählen
Sheets("Email").Select
'dort in Zelle A1 "Deine Youtube - Links für heute" schreiben
Range("A1") = "Deine Youtube - Links für heute"
'dort die Zelle A2 auswählen
Range("A2").Select
'in das aktive Blatt aus dem Cache einfügen
ActiveSheet.Paste
'in das Feld springen, wo der Empfängername im Klartext steht
Range("I2").Select
'den Empfängernamen kopieren
Selection.Copy
'das Arbeitsblatt "ADRESSEN" auswählen
Sheets("ADRESSEN").Select
'Dort Zelle A1 anwählen
Range("A1").Select
'Cache in das Blatt "ADRESSEN" einfügen
ActiveSheet.Paste
'Arbeitsblatt WIKIPEDIA auswählen
Sheets("WIKIPEDIA").Select
'dort alle Zellen auswählen (entspricht STRG+A)
Cells.Select
'Kopieren durchführen, jedoch von eingeblendeten Zellen
Selection.SpecialCells(xlCellTypeVisible).Copy
'Arbeitsblatt EMAIL auswählen
Sheets("Email").Select
'von der untersten Zeile der letztgültigen Markierungen noch eine Zeile nach unten in die 1.  _
unmarkierte Zeile gehen
Cells(1, 1).End(xlDown).Offset(1, 0).Select
'dort "Deine Wiki - Links für heute" schreiben
ActiveCell.Value = "Deine Wiki - Links für heute"
'von dort eine Zelle nach unten gehen
ActiveCell.Offset(1, 0).Select
'genau da den Cache einfügen
ActiveSheet.Paste
'dort das linke Feld J1 auswählen
Range("J1").Select
'ab dort die komplette obere Zeile markieren
Range(Selection, Selection.End(xlToRight)).Select
'alle darunter liegenden Zellen auch markieren
Range(Selection, Selection.End(xlDown)).Select
'diesen markierten Bereich ausblenden
Selection.EntireColumn.Hidden = True
'Variable "rng" als Range-Objekt festlegen
Dim rng As Range
'Variable "sAddress" als String-Objekt festlegen
Dim sAddress As String
'die Variable "rng" mit dem Bereich A:IV aus dem EMAIL-Tabellenblatt belegen
Set rng = Sheets("Email").Range("A:IV")
'die Variable "sAddress" mit der empfängerabhängigen Emailadresse aus dem ADRESSEN- _
Tabellenblatt, Zelle B1 belegen
sAddress = Sheets("ADRESSEN").Range("B1").Value
'generiert eine neue Arbeitsmappe'
Workbooks.Add 1
'kopiert den Inhalt der Variabeln "rng" in Zelle A1 von der neuen Arbeitsmappe
rng.Copy Range("A1")
'Ändert die Breite einer Tabellenspalte, um sich der Textbreite anzupassen, ohne dass sich  _
Textumbrüche änderten
Columns.AutoFit
'sendet die aktive Arbeitsmappe mittels dem in der Registry festgelegten Standard-Mail-Programm  _
_
_
_
an die
'empfängerabhängige Email-Adresse aus Blatt "ADRESSEN", Betreff ist "Deine Lernunterlagen"
ActiveWorkbook.SendMail sAddress, "Deine Lernunterlagen"
'schließt die aktive Arbeitsmappe ohne die Änderungen abspeichern zu wollen
ActiveWorkbook.Close savechanges:=False
'Bildschirmaktualisierung nach diesem Makro-Prozesses wieder anstellen
Application.ScreenUpdating = True
'Beendet das Makro
End Sub

**********************************************************
mein Problem:
Abschnitt:
'sendet die aktive Arbeitsmappe mittels dem in der Registry festgelegten Standard-Mail-Programm an die
'empfängerabhängige Email-Adresse aus Blatt "ADRESSEN", Betreff ist "Deine Lernunterlagen"
ActiveWorkbook.SendMail sAddress, "Deine Lernunterlagen"
eine meiner Lerngruppen besteht aus 2 Gitarristinnen. Sie haben unterschiedliche Email - Adressen.
Dazu habe ich in Arbeitsblatt "ADRESSEN" testweise in Feld B1 (dieses Feld liefert die Zielmailadresse) test@test.test und de@de.de geschrieben. Formatierung:
test@test.test; de@de.de
Nach Ausführen von Makro Email() kam am "Bug-Punkt" ActiveWorkbook.SendMail sAddress, "Deine Lernunterlagen" folgende Fehlermeldung:
Laufzeitfehler '9':
Index außerhalb des gültigen Bereichs.
Der Code funzt, wenn in B1 von "ADRESSEN" nur (z. B.) mustermann@mustermann.de steht (ohne ; - Feldtrennzeichen und 2. Adr.)
Frage: Wie kriege ich es hin, dass mit einer automatisierten Mailverschickung test@test.test UND de@de.de in einem an-Feld von EINER Outlook 2003 - Mail stehen oder meinetwegen auch de@de.de ins CC kommt?
Danke für Tipps!
LG Holger Rogoll

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

Betreff
Benutzer
Anzeige
AW: Mittels Makro ein Formular an 2 Mails gleichz...
05.08.2010 17:19:16
fcs
Hallo Holger,
ich mal folgendes probiert:
Sub aatest()
Dim sAddress As String
'Inhalt Blatt "Adressen" Zelle B1: mustermann@arcor.de;musterfrau@googlemail.com
sAddress = Worksheets("Adressen").Range("B1")
Worksheets("Tabelle2").Copy
ActiveWorkbook.SendMail Split(sAddress, ";"), "Deine Lernunterlagen"
ActiveWorkbook.Close savechanges:=False
End Sub
Funktionierte bei mir mit 1 und 2 E-Mail-Adressen in der Zelle, Tennzeichen = Semikolon.
Gruß
Franz
AW: Mittels Makro ein Formular an 2 Mails gleichz...
10.08.2010 14:42:51
Holger
danke für den Tipp. LG HR
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige