Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Emailgenerator macht nicht was er soll

Forumthread: Emailgenerator macht nicht was er soll

Emailgenerator macht nicht was er soll
27.02.2020 13:37:15
Markus
Hallo zusammen,
ich habe neulich ein Makro geschrieben, bei dem eine Tabelle als eine Art Fehlersammelliste fungieren soll und die Leute automatisch eine Email kriegen sollen, wenn der Termin nicht eingehalten ist. (Ich muss dazu auf einen Emailbutton klicken). Jetzt hatte ich ein Problem, dass, wenn ich auf den button geklickt habe, 25 oder 50 Emails versendet wurden (Wahrscheinlich hat er aus jeder Zeile in der Tabelle einen eintrag versendet, was aber eigentlich nicht sein konnte, weil nur ein einziges Feld einen Inhalt hatte und das war das gleiche bei den 50 Mails). Nun habe ich noch ein paar Ergänzungen gemacht, dass das nicht mehr der Fall ist. Eben habe ich das noch einmal probiert und in meiner Tabelle aktuell10 Einträge, von denen 3 die Kriterien erfüllen. Er wollte mir auch nur 3 Emails senden, was gut ist, aber ich habe nur in einer Zeile meinen Namen eingetragen und trotzdem will er alle Emails an mich senden. Vielleicht kann sich das von euch einmal jemand anschauen und mir sagen, wo der Hund begraben liegt. Ich möchte vermeiden, wenn ich das Makro wieder scharf schalte, dass sich meine Kollegen beschweren, dass sie alles doppelt und dreifach kriegen.
Ich danke euch Vorab. :)
MFG Markus
Option Explicit

Private Sub Email_Click()
Dim mailadresse As String
Dim datum As Date
Dim bereich As Range
Dim zelle As Range
Dim Datsoll As Date
Dim letztezeile As Integer
Dim verantwortlich As String
Dim person1 As String
Dim person2 As String
Dim person3 As String
Dim kopie As Range
Dim objOutlook As Object
Dim objMail As Object
Dim objWorksheet As Worksheet
Dim i As Integer
letztezeile = Sheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Set bereich = Range(Cells(2, 1), Cells(letztezeile, 1))
heute = Date
If Environ("Username") = "qsig09" Then
For Each zelle In bereich
If zelle.Value  "" Then
If zelle.Offset(0, 11).Value - 5 

Private Function RangeToHTML(ByRef probjSheet As Worksheet, ByRef probjRange As Range) As  _
String
Const ForReading As Long = 1
Const TristateUseDefault As Long = -2
Dim strFilename As String
Dim objPublishObject As PublishObject
Dim objFileSystemObject As Object
Dim objFile As Object
Dim objTextStream As Object
strFilename = Environ$("TMP") & "/" & Format$(Now, "dd-mm-yyyy_hh-mm-ss") & ".htm"
Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=probjSheet.name, _
Source:=probjRange.Address, _
HtmlType:=xlHtmlStatic)
Call objPublishObject.Publish(Create:=True)
Set objFileSystemObject = CreateObject(Class:="Scripting.FileSystemObject")
Set objFile = objFileSystemObject.GetFile(strFilename)
Set objTextStream = objFile.OpenAsTextStream(ForReading, TristateUseDefault)
RangeToHTML = objTextStream.ReadAll
Call objTextStream.Close
Call Kill(PathName:=strFilename)
RangeToHTML = Replace$(RangeToHTML, "align=center", "align=left")
Set objPublishObject = Nothing
Set objTextStream = Nothing
Set objFile = Nothing
Set objFileSystemObject = Nothing
End Function

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Emailgenerator macht nicht was er soll
27.02.2020 13:55:26
peterk
Hallo
Person1 und Person3 sucht in der selben Zelle,, ausserdem speicherst Du alle Adressen in person3!
AW: Emailgenerator macht nicht was er soll
27.02.2020 15:33:25
Markus
Hallo Peter, danke für deine Antwort. Das mit den Person 3 habe ich vergessen zu erwähnen. Ich habe die Emailadresse aus Datenschutzgründen heraus genommen und durch copypaste ersetzt. Das mit dem Person 1 und 3 ist sehr schön, dass du das gefunden hast, das habe ich geändert, aber das ist nicht die Ursache für mein Problem.
LG Markus
Anzeige
AW: Emailgenerator macht nicht was er soll
27.02.2020 16:15:22
peterk
Hallo
In Deinem Script sind keine Emailadressen (die liest du ja aus dem Worksheet) ;-)
Du bist in einer Schleife ! Wenn beim zweiten Durchlauf der Adressat nicht gefunden wurde (oder es keinen gibt), so behält die Variable person3 ihren Wert, daher alle Variablem am Schluss zurücksetzeen oder am Anfang.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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