A | B | C | D | E | |
---|---|---|---|---|---|
1 | Empfängerabteilung: | Abteilung A | |||
2 | |||||
3 | Abteilung | Name | Vorname | ||
4 | Abteilung A | Wershoven | Marc | info@wershovenonline.de | |
5 | Abteilung A | Mustermann | Max | max.m@online-vba.de | |
6 | Abteilung B | Beispiel | Berta | berta.b@online-vba.de | |
7 | Abteilung B | Herzlich | Hugo | hugo.h@online-vba.com | |
8 |
Option Explicit
' ****************************************************************
' Autor/en und Original-Quelltext unter:
' https://www.online-vba.de/vba_mailverteilerexcel.php
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von https://www.online-vba.de
' ****************************************************************
Public Sub OVBAde_AbteilungsVerteilerMailVersand()
Dim oAppOutlook As Object
Dim i As Long
Dim sAbteilung As String
Dim sTemp As String
sAbteilung = Sheets("Tabelle1").Cells(1, 2).Value
sTemp = ""
With Sheets("Tabelle1")
For i = 4 To .UsedRange.Rows.Count + .UsedRange.Row - 1
If .Cells(i, 1).Value = sAbteilung Then
sTemp = sTemp & .Cells(i, 4).Value & ";"
End If
Next i
'Das letzte Semikolon entfernen
If Trim(sTemp) <> "" Then
sTemp = Left(sTemp, Len(sTemp) - 1)
End If
End With
'Wenn mindestens eine E-Mail Adresse gefunden wurde, wird eine E-Mail vorbereitet:
If Trim(sTemp) <> "" Then
Set oAppOutlook = CreateObject("Outlook.Application")
With oAppOutlook.CreateItem(0)
.To = sTemp 'Unser E-Mail Empfänger String aus sTemp
.Subject = "Betreffzeile" 'E-Mail Betreffzeile
.Body = "Mail-Inhalt ..." 'E-Mail Inhalt
.Display 'E-Mail anzeigen
'.Send = Direkt senden
End With
Else
MsgBox "Die gesuchte Abteilung hat keine " & _
"hinterlegten Mitarbeiter oder E-Mail Adressen!"
End If
Set oAppOutlook = Nothing
End Sub