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

möchte mehrere Mailadressen einfügen

möchte mehrere Mailadressen einfügen
14.12.2018 10:51:03
Klaus
Hallo zusammen,
leider kann ich hier nur eine Mailadresse eingeben.
Kann das jemand ändern? Wäre sehr dankbar. Kann hier nicht mit z.B. Range(A1) arbeiten. Hier _ soll eine Pdf erzeugt und mit Outloo versendet werden.

Sub sendmail()
Dim sBlatt As String
Dim sPdfDateiF5 As String
Dim OutApp As Object
Dim OutMail As Object
' speichern unter als PDF:
sPdfDateiF5 = "D:\" & "Transportverzögerung" & ".PDF"
' speichert das aktuelle Blatt (=ActiveSheet) als PDF
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPdfDateiF5, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Bezug zu Outlook herstellen...
Set OutApp = CreateObject("Outlook.Application")
' ...neue E-Mail erzeugen
Set OutMail = OutApp.CreateItem(0)
' Werte den Eigenschaften zuweisen...
OutMail.To = "klausmende58@gmail.com"
OutMail.CC = ""
OutMail.BCC = ""
OutMail.Subject = Range("A29") & Range("k29")
OutMail.Body = Range("J118") & Range("J120") & Range("J123") & Range("J125")
' Anhang hinzufügen:
OutMail.Attachments.Add sPdfDateiF5
' ...und abschicken
'OutMail.Send
.Display
' Objekte sauber auflösen
Set OutMail = Nothing
Set OutApp = Nothing
' Tabelle schließen
' Application.DisplayAlerts = True
'Application.Quit
End Sub

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 11:13:13
Karl-Heinz
Hallo Klaus,
füge im code weitere eMail-Adreesen ";"-getrennt hinzu:
OutMail.To = "klausmende58@gmail.com;Uli.Meier@telekon.de;BubiS.blabla.de"
Du könnest bei Bedarf Deine eMail-Adressen auch aus einem Feld z.B. (A1) oder mit einer Schleife aus einer Anzahl von Feldern auslesen.

  Dim Item As Range, Items As String
  .....
  For Each Item In Range("$A1:$A6")
   If Item <> "" Then Items = Items & Item & ";"
  Next Item
  Items = Left$(Items, Len(Items) - 1)
  OutMail.To = Items

VBA=>HTML, (c) 2018 by KHV

viele Grüße
Karl-Heinz
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 11:21:48
Klaus
Danke Karl-Heinz, bin nicht sooo fit in VBA. Meine Mailadressen sind in L11,Aj14 u. AL24 hinterlegt.
Die hätte ich gerne im OutMail.To = Range ("L11") & Range ("AJ14") & Range (AL24") hinterlegt. Doch das Makro bleibt bei OutMail.Send stehen
AW: möchte mehrere Mailadressen einfügen
14.12.2018 11:59:28
Karl-Heinz
Hallo Klaus,
hier mal ein angepasstes Beispiel. Vielleicht ist es das, was Du möchtest:

Sub sendmail()
   Dim sBlatt As String
   Dim sPdfDateiF5 As String
   Dim OutApp As Object
   Dim Wsh As Worksheet
   Set Wsh = ActiveSheet
'Set WSh=Sheets(sBlatt)
   ' speichern unter als PDF:
   sPdfDateiF5 = "D:\" & "Transportverzögerung" & ".PDF"
  
   ' speichert das aktuelle Blatt (=ActiveSheet) als PDF
   ActiveSheet.ExportAsFixedFormat _
      Type:=xlTypePDF, _
      Filename:=sPdfDateiF5, _
      Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, _
      IgnorePrintAreas:=False, _
      OpenAfterPublish:=False
   ' ...neue E-Mail erzeugen
   With CreateObject("Outlook.Application").CreateItem(0)
   ' Werte den Eigenschaften zuweisen...
   .To = Wsh.Range("L11").Value & ";" & Wsh.Range("AJ14").Value & ";" & Wsh.Range("AL24").Value
   .CC = ""
   .BCC = ""
   .Subject = Wsh.Range("A29") & " " & Wsh.Range("k29")
   .Body = Wsh.Range("J118") & Wsh.Range("J120") & Wsh.Range("J123") & Wsh.Range("J125")
   ' Anhang hinzufügen:
   If sPdfDateiF5 <> "" Then .Attachments.Add sPdfDateiF5
  
   ' ...und abschicken
   'OutMail.Send
   .Display
   End With
  
   ' Objekte sauber auflösen
   Set Wsh = Nothing
  
   ' Tabelle schließen
  ' Application.DisplayAlerts = True
   'Application.Quit
End Sub

VBA=>HTML, (c) 2018 by KHV

Da ich Deine Datei nicht habe, hängt es aber auch davon ab, was Du in den einzelnen Feldern stehen hast.
VG
Karl-Heinz
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 13:53:37
Klaus
Hallo Karl-Heinz vielen Dank. Es läuft durch.
AW: möchte mehrere Mailadressen einfügen
14.12.2018 14:45:35
Klaus
Hallo Karl-Heinz, habe noch eine Vorlage mit 12 Adressen die sich immer ändern.
Das Makro bleibt hier stehen.
.To = Wsh.Range("BZ10").Value & ";" & Wsh.Range("BZ11").Value & ";" & Wsh.Range("BZ12").Value & ";" & Wsh.Range("BZ13").Value & ";" & Wsh.Range("BZ17").Value & ";" & Wsh.Range("BZ18").Value & ";" & Wsh.Range("BZ19").Value
Erbitte noch einmal Hilfe
AW: möchte mehrere Mailadressen einfügen
14.12.2018 15:23:28
Karl-Heinz
Hallo Klaus,
k.A. warum es dort stehen bleibt. Aber bei vielen Adressen solltest Du ggf. doch die in meiner ersten mail vorgeschlagene Schleife verwenden:

Sub sendmail()
    Dim sBlatt As String
    Dim sPdfDateiF5 As String
    Dim OutApp As Object
    Dim WSh As Worksheet
    Dim Item As Range, Items As String
    
    Set WSh = ActiveSheet
    
'Set WSh=Sheets(sBlatt)
    ' speichern unter als PDF:
    sPdfDateiF5 = "D:\" & "Transportverzögerung" & ".PDF"
    
    ' speichert das aktuelle Blatt (=ActiveSheet) als PDF
    WSh.ExportAsFixedFormat _
       Type:=xlTypePDF, _
       Filename:=sPdfDateiF5, _
       Quality:=xlQualityStandard, _
       IncludeDocProperties:=True, _
       IgnorePrintAreas:=False, _
       OpenAfterPublish:=False
    ' ...neue E-Mail erzeugen
    With CreateObject("Outlook.Application").CreateItem(0)
    ' Werte den Eigenschaften zuweisen...
      For Each Item In Range("$BZ10:$BZ19")
         If Item.Value <> "" Then Items = Items & Item.Value & ";"
      Next Item
      If Items <> "" Then Items = Left$(Items, Len(Items) - 1)
      .To = WSh.Range("L11").Value & ";" & WSh.Range("AJ14").Value & ";" & WSh.Range("AL24").Value & ";" & Items
      .CC = ""
      .BCC = ""
      .Subject = WSh.Range("A29") & " " & WSh.Range("k29")
      .Body = WSh.Range("J118") & WSh.Range("J120") & WSh.Range("J123") & WSh.Range("J125")
    ' Anhang hinzufügen:
      If sPdfDateiF5 <> "" Then .Attachments.Add sPdfDateiF5
    
    ' ...und abschicken
    'OutMail.Send
      .Display
    End With
    
    ' Objekte sauber auflösen
    Set WSh = Nothing
    
    ' Tabelle schließen
   ' Application.DisplayAlerts = True
    'Application.Quit
End Sub

VBA=>HTML, (c) 2018 by KHV

viele Grüße
Karl-Heinz
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 15:43:40
Klaus
Hallo Karl-Heinz, leider bleibt das Makro stehen.
If Item.Value "" Then Items = Items & Item.Value & ";"
Next Item
If Items "" Then Items = Left$(Items, Len(Items) - 1)
.To = WSh.Range("BE11").Value & ";" & WSh.Range("BE12").Value & ";" & WSh.Range("BE14").Value & ";" & WSh.Range("BU10").Value & ";" & WSh.Range("BU11").Value & ";" & WSh.Range("BU13").Value & ";" & WSh.Range("BE14").Value & ";" & WSh.Range("BE15").Value & ";" & WSh.Range("BE16").Value & ";" & Items
.CC = ""
.BCC = ""
.subject = WSh.Range("CG36")
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 16:31:03
Klaus
Hallo Karl-Heinz, habe die ganzen Mailadressen in BU10 - BU34 hinterlegt.
Das Makro bleibt bei If Item.Value "" Then stehen.
AW: möchte mehrere Mailadressen einfügen
14.12.2018 17:16:31
Karl-Heinz
Hallo Klaus,
änder mal so ab:
       For Each Item In WSh.Range("$L11,$AJ14,$AL24,$BU10:$BU34")
  If Item.Value <> "" Then Items = Items & Item.Value & ";"
  Next Item
  If Items <> "" Then Items = Left$(Items, Len(Items) - 1)
  .To = Items
  .CC = ""
  .BCC = ""

VBA=>HTML, (c) 2018 by KHV
und schreibe sämtliche Felder, in denen die Adressen stehen entsprechend dort kommagetrennt rein.
Testeweise läuft das bei mir.
Sollte es wieder "stehen" bleiben, brauche ich genaue Beschreibung, was das heißt, was passiert. Kommt Fehlermeldung oder was?
Ansonsten musst Du Deine Mappe hier mal hochladen.
viele Grüße
KH
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 17:29:01
Werner
Hallo Karl-Heinz,
so:
Sub sendmail()
Dim sPdfDateiF5 As String, strAdresse As String
Dim OutApp As Object, OutMail As Object, loLetzte As Long, i As Long
' speichern unter als PDF:
sPdfDateiF5 = "D:\" & "Transportverzögerung" & ".PDF"
' speichert das aktuelle Blatt (=ActiveSheet) als PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPdfDateiF5, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' letzte belegte Zelle in Spalte BU ermitteln
loLetzte = Cells(Rows.Count, 73).End(xlUp).Row
' Schleife BU10 bis BU letzte belegte Zelle
For i = 10 To loLetzte
' Variable mit Mailadressen füllen
If Cells(i, 73)  "" Then
If strAdresse = "" Then
strAdresse = Cells(i, 73)
Else
strAdresse = strAdresse & ";" & Cells(i, 73)
End If
End If
Next i
' Bezug zu Outlook herstellen...
Set OutApp = CreateObject("Outlook.Application")
' ...neue E-Mail erzeugen
Set OutMail = OutApp.CreateItem(0)
' Werte den Eigenschaften zuweisen...
OutMail.to = strAdresse
OutMail.CC = ""
OutMail.BCC = ""
OutMail.Subject = Range("A29") & Range("k29")
OutMail.Body = Range("J118") & Range("J120") & Range("J123") & Range("J125")
' Anhang hinzufügen:
OutMail.Attachments.Add sPdfDateiF5
' ...und abschicken
'OutMail.Send
.Display
' Objekte sauber auflösen
Set OutMail = Nothing: Set OutApp = Nothing
' Tabelle schließen
' Application.DisplayAlerts = True
'Application.Quit
End Sub
Achtung: Es erfolgt keine Prüfung, ob in BU10 bis BU? gültige Mailadressen hinterlegt sind.
Gruß Werner
Anzeige
AW: möchte mehrere Mailadressen einfügen
14.12.2018 17:39:25
Karl-Heinz
Hallo Werner,
danke schön.
Ist zwar nicht für mich (bin nicht der Aufgabensteller), aber so geht's auch :-)
Nur hatte ich dem Post von Klaus entnommen, dass wohl auch Adressen in anderen Feldern außerhalb von $BU vorhanden sind.
VG KH
Uuups...
14.12.2018 17:45:51
Werner
Hallo Karl-Heinz,
...da bin ich doch tatsächlich beim falschen Adressaten gelandet, sorry.
In seinem letzten Post hat Klaus aber geschrieben, dass er die ganzen Mailadressen in BU10 bis BU34 hinterlegt hat.
Gruß Werner
AW: Uuups...
14.12.2018 17:48:22
Karl-Heinz
Kein Problem.
Naja, da kann er ja jetzt selbst entscheiden, was er machen will.
Schönes Wochenende wünsche ich.
KH
Anzeige
Dir auch...
14.12.2018 17:50:05
Werner
Hallo Karl-Heinz,
...ein schönes Wochenendet... wobei bei mir Arbeit angesagt ist, das sind halt die Nachteile der Schichtarbeit.
Gruß Werner
AW: Dir auch...
14.12.2018 18:17:53
Klaus
Hallo Karl-Heinz hallo Werner, vielen Dank für eure Mühe. Werde es morgen ausprobieren.
AW: möchte mehrere Mailadressen einfügen
15.12.2018 09:53:58
Klaus
Schönen guten Morgen, das Makro bleibt bei .Display stehen.Könnt ihr noch einmal drüber schauen?
' Objekte sauber auflösen
Set OutMail = Nothing: Set OutApp = Nothing
' Tabelle schließen
' Application.DisplayAlerts = True
'Application.Quit
End Sub
AW: möchte mehrere Mailadressen einfügen
15.12.2018 10:20:30
Werner
Hallo Klaus,
>OutMail.Display
Gruß Werner
Anzeige
AW: möchte mehrere Mailadressen einfügen
19.12.2018 18:09:19
Werner
Hallo,
jetzt scheint auch noch die Tastatur kaputt zu sein.
Gruß Werner

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige