Anzeige
Archiv - Navigation
1788to1792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige