habe alles mögliche im Forum gelesen und ausprobiert dank der Tipps von Euch.
Komme aber immer noch nicht an mein Ziel, der Code den ich hier im Forum gefunden habe und der weiter unten aufgezeigt wird, ist super nur fehlt mir hier der Bezug auf eine bestimmte Zelle(G13) in der immer die Empfänger eMail Adresse in meinem Tabellenblatt steht und die sich in Outlook dann eintragen sollte.
So das nachher nicht .To = "irgendwer@irgendein-provider.de" dort steht sondern die Adresse aus Zelle G13 .z.B.:
If ws.Range("g13").Value Like "*@*" Then
.To = ws.Range("g13").Value
Ich habe leider keine Ahnung wie die genauen Befehle lauten und wo sie in dem unteren Code integriert werden müssen das es funktioniert...
Hier der Code:
Sub Excel_Range_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object, i
Dim Nachricht
'Verweis auf "Microsoft Forms 2.0 Object Library" aktivieren !!
'sonst geht es nicht
'Dataobject wird gebraucht wegen der Zwischenablage
Dim ClpObj As DataObject
For i = 1 To 10
Set ClpObj = New DataObject
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
'Excelbereich der versendet werden soll.
'Wenn kein Bereich versendet werden soll sondern
'der Bereich bereits kopiert wurde, können sie die
'nächsten beiden Zeilen auskommentieren
Range("A1:A5").Select
'Bereich wird in die Zwischenablage kopiert
Selection.Copy
With Nachricht
.Subject = "Betreffzeile Header"
'Zwischenablage wird eingefügt
ClpObj.GetFromClipboard
.body = ClpObj.GetText(1)
.To = "irgendwer@irgendein-provider.de"
'Hier wird die Mail angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
Set OutApp = Nothing
Set Nachricht = Nothing
'Auf Outlook warten. Ist nicht schnell genug :-))
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub
Würde mich freuen wenn mir nochmal jemand helfen könnte...
Gruß Subsiro