Hallo zusammen,
das ist wird jetzt meine 3. VBA-Umsetzung und ich komme mit den Typen einfach nicht mehr weiter.
Ich bitte um Hilfe.
Nach endlosem Herumprobieren scheinen eingelesene Zahlenwerte das Problem zu sein...
Zum Hintergund:
Ich muss für n Empfänger einen Halbjahresbericht verschicken. Ich habe eine ensprechende Excel-Liste mit n Zeilen, darin Datei-Namen und Emailadressen.
Weil sich außer mir sicher niemand im Unternehmen mit VBA befassen will / kann, hätte ich gerne eine möglichst hohe Automatisierung über Jahre hinweg. Entsprechend finden sich in den Feldern jahr und HJ aktuell die Werte 20 und 2.
Es folgt "mein" Code:
Sub Versand()
Set WB = ThisWorkbook
Set S_g = WB.Sheets("Gesamt")
Set S_p = WB.Sheets("Mail-Parameter")
HJ = S_p.Cells(1, 2).Value
jahr = S_p.Cells(2, 2).Value
Betreff = S_p.Cells(3, 2).Value
Set T1 = S_p.Cells(4, 2).Value
Set t2 = S_p.Cells(5, 2).Value
Set t3 = S_p.Cells(6, 2).Value
Set t4 = S_p.Cells(7, 2).Value
Set t5 = S_p.Cells(8, 2).Value
Set t6 = S_p.Cells(9, 2).Value
Set n = S_p.Cells(13, 2).Value
Dim i As Integer
For i = 1 To n
Set Name = S_g.Cells(i + 1, 1).Value
Set Email1 = S_g.Cells(i + 1, 2).Value
Set Email2 = S_g.Cells(i + 1, 3).Value
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = Email1 & ";" & Email2
.Subject = Betreff
.Body = T1 & Chr(10) & Chr(10) & t2 & Chr(10) & Chr(10) & t3 & Chr(10) & Chr(10) & t4 & Chr(10) & Chr(10) & t5 & Chr(10) & Chr(10) & t6
.Attachments.Add "B:\2. Produkte & Sparten\2.7. Unternehmensberatung\3.5.16.24 Halbjahresbericht\erstellte Halbjahresberichte\" & jahr & "\HJ" & HJ & "\" & Name & ".pdf"
.Send 'Sendet die Email automatisch
End With
Next i
End Sub
Wie muss ich meine Parameter defnieren, damit ich keine Typen-Fehlermeldung mehr erhalte?
Besten Dank,
Daniel
|