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

Sprung mit Case aus Loop Schleife

Forumthread: Sprung mit Case aus Loop Schleife

Sprung mit Case aus Loop Schleife
11.10.2003 20:44:28
Claus
Guten Abend! ICh brüte gerade über meinem Programm, dass irgendwann Emails versenden soll...kontrolliert...
Dazu braucht es nocch etwas Beistand. In dem Code weiter unten sind Case-Anweisungen und ich weiß nicht, wie ich keine Mail sende im Falle von Case "2" und wieder in die Do-Loop Schleife springe, um weitere Cases zu porüfen. Was muss ich da hinschreiben?



Private Sub Mail_Click()
'Email an einen bestimmten Adressaten versenden
Dim o
Dim m

If "intrexx" = ActiveWorkbook.Username Or "El Puma" = ActiveWorkbook.Username Then

x = 2
Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
    'Wenn Staus "OK" (in Zelle X, 4), dann nicht senden
    If Cells(x, 4) = "" Then
        
    'Outlook öffnen
    Set o = CreateObject("Outlook.Application")
    'Fenster für neue Mail wird geöffnet
    Set m = o.CreateItem(0)
    
    'Emails abhängig vonIng.-Büro
    Select Case Cells(x, 5)
    Case "Labinal"
      m.To = "firma.1@web.de"
    Case "Teccon"
      m.To = "Firma.2@web.de"
    Case Else
      Cells(x, 6) = "Keine e-mail Adresse angegeben"
    End Select
    
    'Betreff
    m.Subject = "BM " & Cells(x, 1) & ", Einarbeitungstermin: " & Cells(x, 2)
    
    'Text
    'Erste Nachricht 10 Tage vor Terminablauf
    Select Case Cells(x, 3)
    Case ""
      m.Body = "Der Termin für die Einarbeitung der BM " & Cells(x, 1) & " läuft in 10 Tagen aus. Die Bauunterlage muss in 10 Tagen auf Status 3-3 sein."
    Case "1"
    'Zweite Nachricht 5 Tage vor Terminablauf
      m.Body = "Nur noch 5 Tage um die BM " & Cells(x, 1) & " komplett einzuarbeiten! Die Bauunterlage muss in 5 Tagen auf Status 3-3 sein."
    'Zweimal benachrichtigt, dann nicht mehr verfolgen
    Case "2" <--- hier muss eine Anweisung folgen

    
    End Select
    'Anhang (wiederholen für mehrere Anhänge)
    'm.attachments.Add "Attachment.txt"
    'Lesebestätigung anfordern (siehe Outlook-Konstanten)
    m.ReadReceiptRequested = False
    'Wichtigkeit markieren (2=High, 1=Normal, 0=Low)
    m.importance = 2
    'Senden
    m.Send
   
    'Zellwert für Anzahl gesendete Mails erhöhen
    Cells(x, 3) = Cells(x, 3).Value + 1
    
    End If
x = x + 1
Loop

Else: MsgBox "Sie haben für diese Funktion keine Freigabe!"
End If

End Sub

     Code eingefügt mit Syntaxhighlighter 2.4

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sprung mit Case aus Loop Schleife
11.10.2003 21:30:58
Thomas Risi
Hallo Claus

Wenn ich das richtig verstehe, willst Du einige Anweisungen überspringen. Versuch's mal etwa so ...


Private Sub Mail_Click()
'Email an einen bestimmten Adressaten versenden
Dim o
Dim m

If "intrexx" = ActiveWorkbook.Username Or "El Puma" = ActiveWorkbook.Username Then

x = 2
Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
    'Wenn Staus "OK" (in Zelle X, 4), dann nicht senden
    If Cells(x, 4) = "" Then
        
    'Outlook öffnen
    Set o = CreateObject("Outlook.Application")
    'Fenster für neue Mail wird geöffnet
    Set m = o.CreateItem(0)
    
    'Emails abhängig vonIng.-Büro
    Select Case Cells(x, 5)
    Case "Labinal"
      m.To = "firma.1@web.de"
    Case "Teccon"
      m.To = "Firma.2@web.de"
    Case Else
      Cells(x, 6) = "Keine e-mail Adresse angegeben"
    End Select
    
    'Betreff
    m.Subject = "BM " & Cells(x, 1) & ", Einarbeitungstermin: " & Cells(x, 2)
    
    'Text
    'Erste Nachricht 10 Tage vor Terminablauf
    Select Case Cells(x, 3)
    Case ""
      m.Body = "Der Termin für die Einarbeitung der BM " & Cells(x, 1) & " läuft in 10 Tagen aus. Die Bauunterlage muss in 10 Tagen auf Status 3-3 sein."
    Case "1"
    'Zweite Nachricht 5 Tage vor Terminablauf
      m.Body = "Nur noch 5 Tage um die BM " & Cells(x, 1) & " komplett einzuarbeiten! Die Bauunterlage muss in 5 Tagen auf Status 3-3 sein."
    'Zweimal benachrichtigt, dann nicht mehr verfolgen
    Case "2" <--- hier muss eine Anweisung folgen
    
        Goto 10
    

    End Select
    'Anhang (wiederholen für mehrere Anhänge)
    'm.attachments.Add "Attachment.txt"
    'Lesebestätigung anfordern (siehe Outlook-Konstanten)
    m.ReadReceiptRequested = False
    'Wichtigkeit markieren (2=High, 1=Normal, 0=Low)
    m.importance = 2
    'Senden
    m.Send
   
    'Zellwert für Anzahl gesendete Mails erhöhen
    Cells(x, 3) = Cells(x, 3).Value + 1

10:

    End If
x = x + 1
Loop

Else: MsgBox "Sie haben für diese Funktion keine Freigabe!"
End If

End Sub



     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Thomas

Risi Thomas Softwareentwicklung


Anzeige
Wie beim C64
11.10.2003 21:45:33
Claus
...Danke
;

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