Probleme mit der If Abfrage-Email

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Probleme mit der If Abfrage-Email
von: Felix
Geschrieben am: 18.11.2015 12:05:03

Hallo zusammen,
ich habe wie Titel beschriebt ein Problem mit der If-Abfrage.
Der Code selber liefert keinen Fehler darum melde ich mich hier...
Ich habe ein Programm geschrieben, bei dem nach einem Messebesuch automatisch Mails mit Produktbroschüren versendet werden, je nachdem was der Kunde wünscht.
Damit ich Leute aus dem Ausland ebenfalls miteinbeziehen will, gibt es nun die Abfrage ob der Betroffene DE oder EN will, je nachdem unterscheidet sich der Text.
Ebenso der Anhang.
Das Programm läuft durch ohne einen Fehler zu liefern aber auch ohne eine Mail zu generieren.
Ist es überhaupt möglich den Text nachträglich abzufragen wenn die Mail generiert wurde, oder muss dies davor geschehen?
Die
Vielleicht für manche auch eine Hilfe, wie man den Text in einer Mail gestalten kann ohne Excel verlassen zu müssen, bezüglich Corporate Identity ;)
Der Code funktioniert, wenn ich alle Abfragen mit AND verbinde und natürlich ohne die Länderabfrage wie folgt:
If cell.Value Like "*@*" And cell.Offset(0, 1).Value = "nein" And cell.Offset(0, 2).Value = "ja" And cell.Offset(0, 3).Value = "nein" And cell.Offset(0, 4).Value = "nein" Then
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.To = cell.Value
.Subject = UserForm1.txtSubj.Text
.HTMLBody = AnredeDE & cell.Offset(0, -9).Value & "," & vbNewLine & vbNewLine & _
MailNachricht0 & _
MailNachricht1 & _
MailNachricht2 & _
MailNachricht3 & _
MailNachricht4 & _
MailNachricht5 & _
Mailnachricht6 & _
MailNachricht7 & _
MailNachricht8
Hier einmal mein neuer Code der leider nicht funktioniert:
Sub cmdSend_Click()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim cell As Range
Dim txtSubj, strText, strFile As String


Dim AnredeDE As String
Dim AnredeEN As String
Dim MailNachricht0 As String
Dim MailNachricht1 As String
Dim MailNachricht2 As String
Dim MailNachricht3 As String
Dim MailNachricht4 As String
Dim MailNachricht5 As String
Dim Mailnachricht6 As String
Dim MailNachricht7 As String
Dim MailNachricht8 As String
Dim MailNachricht12 As String
'Anrede Text
AnredeDE = "<span style=""font-size:11pt;font color: #004790; font-family:'ClanOT-NarrBook'"">" & _
" Sehr geehrter Herr "
AnredeEN = "<span style=""font-size:11pt;font color: #004790; font-family:'ClanOT-NarrBook'"">" & _
" Dear Sir "~f~
'Email Text
~f~ MailNachricht0 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBook'"">" & _
"<br><br>" & _
"die "
MailNachricht1 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBold'"">" & "Firma XY "
MailNachricht2 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBook'"">" & "bedankt sich für Ihren Besuch auf der "
MailNachricht3 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBold'"">" & "MESSE 2015." & "<br>"
MailNachricht4 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBook'"">" & "Sie konnten hoffentlich viele interessante Eindrücke mit nach Hause nehmen." & "<br><br>" & _
"Auf einer solchen Messe können natürlich nicht alle Fragen beantwortet werden," & "<br>" & _
"darum senden wir Ihnen heute einen kleinen Überblick zu unseren "
MailNachricht12 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBook'"">" & "Sie konnten hoffentlich viele interessante Eindrücke mit nach Hause nehmen." & "<br><br>" & _
"Auf einer solchen Messe können natürlich nicht alle Fragen beantwortet werden." & "<br>"
MailNachricht5 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBold'"">" & "Produkten." & "<br><br>"
Mailnachricht6 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBook'"">" & "Gerne stehen wir Ihnen für Rückfragen zur Verfügung" & "<br>" & _
"oder vereinbaren Sie doch einfach einen "
MailNachricht7 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBold'"">" & "persönlichen Beratungstermin." & "<br><br>"
MailNachricht8 = "<span style=""font-size:11pt; font color: #004790; font-family:'ClanOT-NarrBook'"">" & "Wir würden uns freuen, wieder von Ihnen zu hören."
'Serienmail

Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
'Kontrolle ob Zellwert eine Mailadresse ist
For Each cell In Sheets("Adressen").Columns("M").Cells.SpecialCells(xlCellTypeConstants)
If cell.Value Like "*@*" Then
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.To = cell.Value
'Betreff wird in Userform eingetragen
.Subject = UserForm1.txtSubj.Text
'Text English
If .cell.Offset(0, -9).Value = "EN" Then
.HTMLBody = AnredeEN & cell.Offset(0, -10).Value & "," & vbNewLine & vbNewLine & _
MailNachricht0 & _
MailNachricht1 & _
MailNachricht2 & _
MailNachricht3 & _
MailNachricht4 & _
MailNachricht5 & _
Mailnachricht6 & _
MailNachricht7 & _
MailNachricht8
Else
'Text Deutsch
.HTMLBody = AnredeDE & cell.Offset(0, -9).Value & "," & vbNewLine & vbNewLine & _
MailNachricht0 & _
MailNachricht1 & _
MailNachricht2 & _
MailNachricht3 & _
MailNachricht4 & _
MailNachricht5 & _
Mailnachricht6 & _
MailNachricht7 & _
MailNachricht8
End If
'Wenn Produktflyer A ausgewählt wurde dann
If cell.Offset(0, 1).Value = "ja" Then
.Attachments.Add "I:\XYpdf"
End If
'Wenn Produktflyer B ausgewählt wurde dann
If cell.Offset(0, 2).Value = "ja" Then
.Attachments.Add "I:\XY.pdf"
End If
'Wenn Produktflyer C ausgewählt wurde dann
If cell.Offset(0, 3).Value = "ja" Then
.Attachments.Add "I:\XY.pdf"
End If
'Wenn Produktflyer D ausgewählt wurde dann
If cell.Offset(0, 4).Value = "ja" Then
.Attachments.Add "I:\XY.pdf"
End If

'.Send ' Send = sendet Mail sofort
.Display ' Display = Mailfenster anzeigen
End With
Set OutMail = Nothing
End If
Next cell

Bild

Betrifft: AW: Probleme mit der If Abfrage-Email
von: Rudi Maintaire
Geschrieben am: 18.11.2015 12:56:35
Hallo,
natürlich läuft das durch.
lösch mal


On Error GoTo cleanup
und geh den Code mit F8 durch
Gruß
Rudi

Bild

Betrifft: AW: Probleme mit der If Abfrage-Email
von: Felix
Geschrieben am: 18.11.2015 13:37:19
tatsächlich...
wie etwas altes unkommentiertes das ganze zerstören kann :D
Fehler lag in der Zeile:
If .cell.Offset(0, -9).Value = "EN" Then
der Punkt vor cell zerstört natürlich alles :D
vielen Dank

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Problem beim Einfügen und gesetzten Filter"