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

EMail versenden / Empfänger in bestimmten Zellen

EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 09:22:10
Toumas
Hallo zusammen,
ich hatte gestern die Frage unter :
https://www.herber.de/forum/archiv/1300to1304/t1300012.htm
bereits eingestellt.
Mittlerweile habe ich im Netz noch was gefunden und wollte das Makro entsprechend anpassen. Leider nimmt er mir immer wieder nur die erste Zeile für die EMail und fügt die restlichen Zeilen nicht ein. Auch versendet er mir die EMail nicht sofort, sondern macht erst Outlook auf und zeigt mir die Mail an, damit ich diese bestätigen muss. (ich hab auch schon das ' vor dem .send entfernt... aber da verschickt er mir auch keine sofort.)
Da ich, wie gesagt keinen Plan habe von VBA wäre ich für einen Tipp sehr dankbar.
Vielen Dank
Toumas
Sub MailVersenden()
Dim obNachricht As Object
Dim obMail As Object
Dim lngZeile As Long
Dim strBCC As String
' erste Adresse für BCC aus Zelle M9
strBCC = Cells(9, 13)
' in einer Schleife alle Adressen aus Spalte M ab Zeile 2 zu einem String zusammenfassen
For lngZeile = 2 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row,  _
Rows.Count)
strBCC = strBCC & "; " & Cells(lngZeile, 1)
Next lngZeile
Set obMail = CreateObject("Outlook.Application")
Set obNachricht = obMail.CreateItem(0)
With obNachricht
.To = strBCC     ' "Meine@Adresse.de"    '

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 09:57:44
Toumas
Meine Idee, dass ich mit : .Recipients.Add strBCC
arbeite und je Zeile ein strBCC (1-29) einfüge
ist auch nicht erfolgreich gewesen, sobald das Makro auf eine leere Zeile stößt bringt es die Fehlermeldung, dass eine Adresse usw. im Empfänger stehen muss.....

AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 10:16:15
Klaus
Hi,
ich hab mir deinen Code nicht im Detail angeschaut. Aber die Aussage
sobald das Makro auf eine leere Zeile stößt
lässt mich denken, dass kannst du einfach mit einem IF umgehen.
also, IF not isemtpy(cell) Then "ein strBCC (1-29) einfügen"
Ich meine, in deinem Code ist das diese Zeile:
strBCC = strBCC & "; " & Cells(lngZeile, 1)
Die könnte man dan ändern in
IF isempty(Cells(lngZeile, 1)) then
'do nothing
else
strBCC = strBCC & "; " & Cells(lngZeile, 1)
end if

oder kürzer
if not isempty(Cells(lngZeile, 1)) then strBCC = strBCC & "; " & Cells(lngZeile, 1)
Grüße,
Klaus M.vdT.

Anzeige
AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 10:45:33
Toumas
Hallo Klaus,
erst mal Danke für deine Antwort, aber irgendwie scheint das auch nicht zu funktionieren (denk daran, ich bin ein VBA-Dau *g*)
Ich habe mittlerweile den Code so umgeschrieben, aber hier passiert es immer noch, dass die Leerzeile als Fehler aufgeführt wird.
Die strBCC(x) würde ich dann bis zur Zelle M38 weiter aufführen.... sieht zwar bescheiden aus, aber scheint, bis auf die Zeile, in der keine Mailadresse steht und der automatische Versand zu funktionieren.
Grüße
Toumas
Sub Mailversenden666()
Dim strBetreff As String
Dim strBCC As String
Dim strInhalt As String
Dim strPfadAnhang As String
Dim zeile As Integer
zeile = ActiveCell.Row
' strBetreff = Range("H" & zeile).Value
strBetreff = Worksheets("Übersicht Telefonbereitschaft").Range("B48:B48 ").Value
' strEMail = Range("I" & zeile).Value
strBCC = Worksheets("Übersicht Telefonbereitschaft").Range("M9:M9").Value
strBCC1 = Worksheets("Übersicht Telefonbereitschaft").Range("M10:M10").Value
strBCC2 = Worksheets("Übersicht Telefonbereitschaft").Range("M11:M11").Value
strBCC3 = Worksheets("Übersicht Telefonbereitschaft").Range("M12:M12").Value
Set obMail = CreateObject("Outlook.Application")
Set obNachricht = obMail.CreateItem(0)
With obNachricht
' .To = strBCC     ' "Meine@Adresse.de"    '

Anzeige
AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 10:57:14
Klaus
Hi,
Vermutung: die leeren Zellen sind nicht wirklich leer.
Beispiel:
Steht in Zelle A1 nichts, dann ist sie leer.
Steht in Zelle A1 die Formel =WENN(Weltuntergang=True;"Panik";"") und es ist gerade kein Weltuntergang, dann steht in A1 zwar nichts sichtbares (""), aber A1 ist eben nicht leer sondern enthält eine Formel die einen leeren String erzeugt.
Ich hab das Makro mal umgestrickt, so dass es
- auf leer prüft
- auf "" prüft
- den Bereich in einer Schleife prüft
Option Explicit
Sub Mailversenden666()
Dim strBetreff As String
Dim strBCC As String
Dim strInhalt As String
Dim strPfadAnhang As String
Dim zeile As Integer
Dim rAdressen As Range
zeile = ActiveCell.Row
' strBetreff = Range("H" & zeile).Value
strBetreff = Worksheets("Übersicht Telefonbereitschaft").Range("B48:B48 ").Value
' strEMail = Range("I" & zeile).Value
'strBCC = Worksheets("Übersicht Telefonbereitschaft").Range("M9:M9").Value
'strBCC1 = Worksheets("Übersicht Telefonbereitschaft").Range("M10:M10").Value
'strBCC2 = Worksheets("Übersicht Telefonbereitschaft").Range("M11:M11").Value
'strBCC3 = Worksheets("Übersicht Telefonbereitschaft").Range("M12:M12").Value
Set obMail = CreateObject("Outlook.Application")
Set obNachricht = obMail.CreateItem(0)
With obNachricht
' .To = strBCC     ' "Meine@Adresse.de"    '

Anzeige
AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 11:11:01
Toumas
Hallo,
danke für die schnelle Antwort.
und ja stimmt, die Mailadresse hole ich mir ja mit einem SVerweis, da steht dann also die Formel in der Zeile, also nicht leer, sonder keine Mailadresse....
bei
Set obMail = CreateObject("Outlook.Application")
kommt nach dem Start : Fehler beim Kompilieren, Variable nicht definiert

AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 11:25:02
Toumas
Nachtrag
Wenn ich : Option Explicit
entferne
erscheint die Fehlermeldung Sub oder Funtion nicht definiert bei : If Not isemtpy(rAdressen) Then

AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 11:31:55
Toumas
ist noch offen... habe nur das Kästchen nicht makiert

Anzeige
AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 11:39:46
Klaus
Hi,
die Fehlermeldung bei
Set obMail = CreateObject("Outlook.Application")
ist dein Bier, daran hab ich nicht geschraubt. Kannst ja Option Explicit einfach weglassen. Du kannst dir aber auch Gedanken darüber machen, warum dein Code nicht sauber durch-dimensioniert ist ... ich nehme aber an, du hast den Mail-Code nicht selber geschrieben. Ich kann da leider nicht helfen, da das ganze Outlook-Anbinden und API-Nutzen nicht meine Welt ist.
If Not isemtpy(rAdressen) Then
sollte allerdings funktionieren, da IsEmpty eine Vba-Funktionalität ist. Probier mal so:
If Not vba.isemtpy(rAdressen) Then
das hilft manchmal.
Jetzt wo wir wissen, dass die Zellen EH nicht leer sind (sondern "" enthalten) könntest du diese Zeile aber auch komplett löschen (und das dazu gehörige EndIf!). Die Überprüfung auf "" müsste dann reichen.
Grüße,
Klaus M.vdT.

Anzeige
AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 11:52:58
Toumas
ist leider nicht mein Code, da ich keine Ahnung vom VBA habe und mich nur so durchwurschtel....
Die "If not isempty" und "Option Explicit" habe ich mal rauskommentiert
und es läuft bis : Recipients.Add rAdressen.Value
Dann erscheint ein Laufzeitfehler 424 : Objekt erforderlich
ist echt zum heulen, wenn man so wenig Ahnung wie ich hat..... sorry.
Danke für deine Mühen

AW: EMail versenden / Empfänger in bestimmten Zellen
20.02.2013 12:39:24
Toumas
habe den Fehler bei : Recipients.Add rAdressen.Value
gefunden....
der Punkt davor hat gefehlt *auf die Stirn klatsch*
so, jetzt muss das Ding nur noch die Mail automatisch verschicken.....

Anzeige
Danke für die RÜ! owT.
20.02.2013 12:46:55
Klaus
.

AW: Danke für die RÜ! owT.
20.02.2013 13:07:39
Toumas
Danke dir nochmals für alles.
Irgendwie komme ich noch dahinter warum
.display funktioniert
und bei
.send er mir einen Fehler bringt...

AW: Danke für die RÜ! owT.
20.02.2013 13:11:03
Toumas
Habe den Fehler gefunden, war in der Schreibweise der EMails die im Excel hinterlegt sind...
jetzt geht alles super.
vielen, vielen Dank

17 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige