Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mit VBA aus Excel Datei Mail versenden

mit VBA aus Excel Datei Mail versenden
04.11.2020 09:38:24
C
Hallo zusammen
Ich bin VBA Einsteiger. Ich habe eine Excel Arbeitsmappe. Wenn dort in Spalte 19 ein x steht, soll an die Mailadresse aus Spalte 18 eine Mail versendet werden. Das ist in jeder Zeile eine andere Adresse und es soll auch jede Mail einzeln versendet werden.
Ich habe untenstehenden Code gebastelt, aber es funktioniert nicht. Kann mir jemand helfen, was der Fehler ist? Meist kommt der Fehler Error Object.
Sub Mailversand()
Dim Mappe_Aufruf As Workbook
Set Mappe_Aufruf = Active Workbook
Dim collAdresses As Collection
Set collAdresses = New Collection
Dim objOutlook As Object
Dim objMail As Object
Dim sEMail_Address As String
Dim iRow As Integer
Set objOutlook =
CreateObject("Outllok.Application")
Set objMail = objOutlook.CreateItem(0)
For iRow = 2 To 20
If Cells(iRow, 19) = "x" Then
sEMail_Address = Cells(iRow, 18)
'
If Contians(collAddresses,
sEmail_Address) Then
sEMail_Address = ""
End If
Dim recipient As recipient
If sEMail_Address ""Then
Set recipient " objEmail.Recipients.Add("sEmail_Address")
recipient.Type = oITo
End If
End If
Next
With objMail
.To = ""
.Subject = "Test"
.Body = "Test"
.CC = "examplemail"
.Display
End With
End Sub

Public Function Contains(coll As Collection, elem As Variant) As Boolean
Dim i As Integer
For i = 1 To coll.Count
If elem = coll(i) Then
Contains = True
Exit Function
End If
Next 'i = 1 To coll. Count
Contains = False
End Function

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA aus Excel Datei Mail versenden
04.11.2020 10:15:06
Regina
Hi,
ich habe den Code mal etwas aufgeräumt und verkürzt. Hast Du den Code wirklich so irgendwo gefunden? Da waren eine Reihe Tippfehler und Logikfehler drin, das konnte so nicht funktionieren. Teste mal den folgenden Code, wobei Du an den markierten Stellen noch den Namen des Tabellenblattes ändern musst.
Außredem solltest Du Dir angewöhnen mit Option Explicit zu arbeiten, das vermeidet viele Fehler.
Sub Mailversand()
Dim objOutlook As Object
Dim objMail As Object
Dim sEMail_Address As String
Dim iRow As Long
Dim Mappe_Aufruf As Workbook
Set Mappe_Aufruf = ThisWorkbook
Set objOutlook = CreateObject("Outlook.Application")
For iRow = 2 To 20
If Worksheets("Tabelle1").Cells(iRow, 19) = "x" Then   ' ggf. Blattname ändern
sEMail_Address = Worksheets("Tabelle1").Cells(iRow, 18)   ' ggf. Blattname ändern
If sEMail_Address  "" Then
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = sEMail_Address
.Subject = "Test"
.Body = "Test"
.CC = "examplemail"
.Display
End With
End If
End If
Next
End Sub
Gruß Regina
Anzeige
AW: mit VBA aus Excel Datei Mail versenden
04.11.2020 12:33:36
C
Danke Regina, perfekt! Du bist die Beste!
AW: mit VBA aus Excel Datei Mail versenden
04.11.2020 12:40:22
Regina
... das hört man doch gerne :-) Danke für die Rückmelung.
Gruß Regina
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige