verschiedene Maillisten je Auswahl aufrufen
Dennis
Hallo,
ich bräuchte noch einmal eure Hilfe, da die Recherche und meine Versuche keinen Erfolg bringen...
Als letzte Verbesserung in meinem Programm, möchte ich den richtigen Verteiler beim Email versenden auswählen. Dieser ist abhängig, welche Checkbox ich in der Userform ausgewählt habe.
Bsp.
Bei Checkbox3 stehen die Adressen im Reiter "Daten" in Spalte D2 bis Dx (sollte am besten dynamisch sein)
Bei Checkbox4 stehen die Adressen im Reiter "Daten" in Spalte E2 bis Ex
Baue ich dieses in die jeweiligen Call Funktionen Bonus und Zeiten ein? Also irgendwie so:
listBonus=...
listZeiten=...
und rufe diese dann später in der Funktion Mail_senden ab?
.To = listBonus
Wie müssten der/die Code sein?
Vielen Dank für eure Hilfe
Private Sub CommandButton1_Click()
Dim Ordner As String
Ordner = ThisWorkbook.Path & "\Ablage"
Application.ScreenUpdating = False
If CheckBox3.Value = True Then
Call Bonus
Else: End If
If CheckBox4.Value = True Then
Call Zeiten
Else: End If
Call Mail_senden
End Sub
Sub Bonus()
With Worksheets("Sheet3")
.Range("$A$2:$AI$" & .Cells(.Rows.Count, "A").End(xlUp).Row).AutoFilter _
Field:=1, Criteria1:="*Bonus*"
With .AutoFilter.Range
.Columns("A:B").Offset(1).Resize(.Rows.Count - 1).Copy
Worksheets("Bonus").Range("N7").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
If .AutoFilterMode Then .AutoFilterMode = False
Sheets("Bonus").Visible = True
Pfad = ThisWorkbook.Path & "\" & "Ablage\" & Format(Date, "YYMMDD_") & "Bonus"
Worksheets("Bonus").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pfad, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("Bonus").Visible = False
End With
End Sub
Sub Zeiten()
With Worksheets("Sheet3")
.Range("$A$2:$AI$" & .Cells(.Rows.Count, "A").End(xlUp).Row).AutoFilter _
Field:=1, Criteria1:="*Zeiten*"
With .AutoFilter.Range
.Columns("A:B").Offset(1).Resize(.Rows.Count - 1).Copy
Worksheets("Zeiten").Range("N7").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
If .AutoFilterMode Then .AutoFilterMode = False
Sheets("Zeiten").Visible = True
Pfad = ThisWorkbook.Path & "\" & "Ablage\" & Format(Date, "YYMMDD_") & "Zeiten"
Worksheets("Zeiten").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pfad, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("Zeiten").Visible = False
End With
End Sub
Sub Mail_senden()
Const FOLDER_PATH As String = "C:\Users\"
Dim objOutlook As Object, objMail As Object
Dim strFilename As String, astrAttachment() As String
Dim ialngIndex As Long
strFilename = Dir$(FOLDER_PATH & "*.pdf")
Do Until strFilename = vbNullString
ReDim Preserve astrAttachment(ialngIndex)
astrAttachment(ialngIndex) = FOLDER_PATH & strFilename
ialngIndex = ialngIndex + 1
strFilename = Dir$
Loop
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "max.mustermann@de.com"
.Subject = "Test"
.Body = "Sehr geehrte Damen und Herren," & vbLf & vbLf & "Hier die Daten "
For ialngIndex = LBound(astrAttachment) To UBound(astrAttachment)
Call .Attachments.Add(astrAttachment(ialngIndex))
Next
Call .Display
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub