Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilen und spaltenweises durchlaufen

Betrifft: Zeilen und spaltenweises durchlaufen von: Chrissi
Geschrieben am: 22.09.2014 15:50:17

Hallo Zusammen,

ich bin auf der Suche nach dem letzten Feinschliff für mein Makro.

Es existiert eine eMail-Verteilerliste die wie folgt aufgebaut ist:
Spalte A Name des Verteilers
Spalte B, C und D Namen der Empfänger
Spalte E leer
Spalte F email-Empfänger (hier gibts oftmals mehere Empfänger)
Spalte G email-CC
Spalte H Betreff
Spalte I Body der Mail

Die Mail wird schon so angezeigt inkl. dem Aufruf des Explorers an entsprechender Stelle, wie ich das möchte.

Aber:
Das Ziel ist es für jeden vorhandenen eMail-Adressaten eine Mail aus den Zellen zu formulieren OHNE sie abzuschicken. Das muss ich manuell machen!
Heisst: von F7-F80 soll das Makro jedes Mal wieder eine neue Mail öffnen für den Bereich von F7:I80. Gefüllt wird die Mail schon. Es sind nur gut 20 Adressaten für den gesamten Zellbereich.

Hier mal mein Code:

Sub Mail_Outlook_With_Signature_Html_1()

    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim zahl As Integer
    Dim zelle, spalte As Integer
    Dim x, y, xmax, ymax As Integer
    
   For Each zelle In Range(Cells(1, 1), Cells(Range("A80").End(xlUp).Row, 1))
        If zelle.Value > 0 Then
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)

        strbody = Range("i7").Value

    On Error Resume Next

    With OutMail
        .Display
        .To = Cells(7, 6).Value
        .cc = Range("g7").Value
        .BCC = ""
        .subject = Range("h7").Value
        .HTMLBody = strbody & "
" & .HTMLBody .Display End With 'im Explorer links den Verzeichnisbaum anzeigen ' /e Shell "Explorer.exe /e, Y:\Templates", vbNormalFocus End If Next zelle On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub



Mir fällt es schwer auf die Lösung zu kommen.
Ich hoffe ihr könnt mir helfen.

lieben Gruss
Chrissi

  

Betrifft: AW: Zeilen und spaltenweises durchlaufen von: fcs
Geschrieben am: 23.09.2014 15:16:01

Hallo Chrissi,


ungetestet.
Es sollten jetzt die E-Mails kreiert werden. Jede Mail mit den Informationen aus einer anderen Zeile.

Gruß
Franz

Sub Mail_Outlook_With_Signature_Html_1()

    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim zahl As Integer
    Dim zelle, spalte As Integer
    Dim x, y, xmax, ymax As Integer
    
   Set OutApp = CreateObject("Outlook.Application")
   'Zellen im Bereich A1:A80 abarbeiten
   For Each zelle In Range(Cells(1, 1), Cells(80, 1).End(xlUp))
        If zelle.Value > 0 Then
          Set OutMail = OutApp.CreateItem(0)
  
          strbody = Cells(zelle.Row, 9).Value 'Spalte I
  
          On Error Resume Next
      
          With OutMail
              .Display
              .To = Cells(zelle.Row, 6).Value      'Spalte F
              .cc = Cells(zelle.Row, 7).Value      'Spalte G
              .BCC = ""
              .Subject = Cells(zelle.Row, 8).Value 'Spalte H
              .HTMLBody = strbody & "" & .HTMLBody
              .Display
          End With
          
    
        End If
  Next zelle

    'im Explorer links den Verzeichnisbaum anzeigen
' /e

  Shell "Explorer.exe /e, Y:\Templates", vbNormalFocus
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing


End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "Zeilen und spaltenweises durchlaufen"