Mails wie Anzahl gefundener Werte

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Tweety2016.

    Mails wie Anzahl gefundener Werte

    Hallo zusammen,

    Ausgangssituation: eine Schleife schaut in die Spalte G und sucht nacht WErt 1. Wenn in einer ZEile der WErt 1 gefunden wird, dann soll unter myAL die Mailadresse aus Spalte B derselben Zeile für das erzeugen der Mail genommen werden.

    Ziel: so viele Mails erzeugen wie Anzahl Wert 1 in Spalte G gefunden. Mails werden dann manuell versendet.

    Problem: Wenn erste Mail erzeugt wurde und ich die Mail verschiecke, kommt beim nächsten Durchgang bei der Erzeugung der nächsten Mail eine Fehlermeldung.

    Anbei mein Code:

    Sub Mail_Klicken()

    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)

    Dim rng As Range
    Dim rng1 As Range
    Dim myAL As String
    Dim myMA As String
    Dim myArray As Variant
    Dim i As Long

    Dim myWertP As Integer
    Dim myAnzahl As Long

    myWertP = 1
    Set rng1 = Application.Worksheets("Tabelle1").Range("G11:G500")
    myAnzahl = Application.WorksheetFunction.CountIf(rng1, myWertP)

    For i = 1 To myAnzahl
    For Each rng In Range("G11:G500")
    If rng.Value = "1" Then
    rng.Select
    myAL = Worksheets("Tabelle1").Cells(ActiveCell.Row, 2).Value
    myMA = Worksheets("Tabelle1").Cells(ActiveCell.Row, 4).Value
    End If

    With MyMessage
    .To = myAL --> hier geht es beim 2. Durchgang nicht weiter; myAL passt aber
    .Subject = Range("G6")
    .body = "etwas
    .Display

    MsgBox "Bitte E-Mail prüfen und versenden"
    End With
    Next
    Next

    Set MyOutApp = Nothing
    Set MyMessage = Nothing

    End Sub

    Was muss ich ändern?
    Danke euch!
    Und welche Fehlermeldung kommt?

    Btw. Benutze doch bitte Code Tags

    Edit sagt: du setzte myMessage auf Nothing, da kann kein .To mehr funktionieren denn es ist kein Objekt mehr da
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MrTrebron“ ()

    Ich habe es raus:

    Befehl Mail zu erstellen muss natürlich in die Schleife rein:

    For i = 1 To myAnzahl
    For Each rng In Range("G11:G500")
    If rng.Value = "1" Then
    rng.Select
    myAL = Worksheets("Tabelle1").Cells(ActiveCell.Row, 2).Value
    myMA = Worksheets("Tabelle1").Cells(ActiveCell.Row, 4).Value
    End If

    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)

    With MyMessage
    .To = myAL
    .Subject = Range("G6")
    .body = "etwas"
    .Display
    End With
    End If
    Next
    Next

    Danke!