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

sub bei erfüllter bedingung frühzeitig beenden

Forumthread: sub bei erfüllter bedingung frühzeitig beenden

sub bei erfüllter bedingung frühzeitig beenden
11.08.2003 16:12:57
rahel
hallo zusammen

wie kann ich einen sub bei einer erfüllten bedingung frühzeitig beenden?


gruss, Rahel
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sub bei erfüllter bedingung frühzeitig beenden
11.08.2003 16:14:07
Dieter Maj
Hallo Rahel

exit sub

Gruß Dieter


ordner auf existenz prüfen
11.08.2003 16:19:15
rahel
danke.
nun hab ich aber noch ein anderes problem ;)

If Not (Workbooks.Open(fileName)) Then
MsgBox ("Falsche Verzeichnisangabe")
Exit Sub
End If

das würde auch soweit klappen, jedoch beinhaltet der fileName einen orndernamen,
den ich vorerst auf existenz überprüfen muss.
wie mache ich dies?

gruss, rahel


Anzeige
AW: ordner auf existenz prüfen
11.08.2003 16:25:11
Ramses
Hallo

schau mal einen Beitrag tiefer zu meiner Antwort an Peter.

Gruss Rainer


au man entschuldige, vielen dank ;-)
11.08.2003 16:37:34
rahel


AW: sub bei erfüllter bedingung frühzeitig beenden
11.08.2003 16:15:16
Mike E.
Hallo Rathel,

For i = 1 To 10

if Cells(i,1) = 1 then DeinCode: Exit Sub

Next i

Gruß
Mike


Anzeige
;
Anzeige

Infobox / Tutorial

VBA Sub bei erfüllter Bedingung frühzeitig beenden


Schritt-für-Schritt-Anleitung

Um einen VBA Sub vorzeitig zu beenden, wenn eine bestimmte Bedingung erfüllt ist, kannst Du den Befehl Exit Sub verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel.

  2. Erstelle ein neues Modul oder öffne ein bestehendes Modul.

  3. Schreibe Deinen Code und füge die Bedingung hinzu. Beispiel:

    Sub MeinSub()
       For i = 1 To 10
           If Cells(i, 1).Value = 1 Then
               Exit Sub ' Beendet den Sub, wenn die Bedingung erfüllt ist
           End If
       Next i
    End Sub
  4. Speichere Dein Projekt und führe den Sub aus. Der Sub wird vorzeitig beendet, wenn die Bedingung erfüllt ist.


Häufige Fehler und Lösungen

Ein häufiger Fehler ist, dass der Befehl Exit Sub nicht korrekt platziert ist. Stelle sicher, dass er innerhalb der Bedingung steht. Hier sind einige häufige Probleme und Lösungen:

  • Problem: Exit Sub wird nie erreicht.

    • Lösung: Überprüfe, ob die Bedingung richtig formuliert ist. Beispielsweise:
    If Cells(i, 1).Value = 1 Then
        Exit Sub
    End If
  • Problem: Der Sub wird nicht wie erwartet beendet.

    • Lösung: Achte darauf, dass Du den richtigen Code zum Beenden verwendest und keine weiteren Bedingungen den Ablauf stören.

Alternative Methoden

Neben Exit Sub gibt es auch andere Möglichkeiten, einen Sub abzubrechen. Man kann den Sub auch über Bedingungen in Schleifen oder durch Fehlerbehandlung beenden. Beispiele:

  1. Error Handling:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    ' Behandle den Fehler
  2. Beenden durch Flags:

    Sub MeinSub()
       Dim Abbrechen As Boolean
       Abbrechen = False
       For i = 1 To 10
           If Cells(i, 1).Value = 1 Then
               Abbrechen = True
               Exit For
           End If
       Next i
       If Abbrechen Then Exit Sub
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, um einen Excel VBA Sub vorzeitig zu beenden:

  1. Beispiel 1: Datenüberprüfung

    Sub DatenPruefen()
       For i = 1 To 100
           If Cells(i, 1).Value = "" Then
               MsgBox "Leere Zelle gefunden, Sub wird abgebrochen."
               Exit Sub
           End If
       Next i
    End Sub
  2. Beispiel 2: Ordnerüberprüfung

    Sub OrdnerPruefen()
       Dim fileName As String
       fileName = "C:\MeinOrdner\Datei.xlsx"
       If Not (Workbooks.Open(fileName)) Then
           MsgBox "Falsche Verzeichnisangabe"
           Exit Sub
       End If
    End Sub

Tipps für Profis

  • Nutze Exit Sub sparsam, um die Lesbarkeit Deines Codes zu erhöhen.
  • Kommentiere Deinen Code, um anderen (oder Dir selbst) zu helfen, den Zweck der Bedingungen zu verstehen.
  • Verwende Fehlerbehandlungsroutinen, um unvorhergesehene Programmabbrüche elegant zu handhaben.

FAQ: Häufige Fragen

1. Wie kann ich einen Sub in einer Schleife vorzeitig beenden? Du kannst Exit Sub innerhalb der Schleife verwenden, wenn die Bedingung erfüllt ist, wie in den obigen Beispielen gezeigt.

2. Was passiert, wenn ich Exit Sub in einer Fehlerbehandlungsroutine verwende? In einer Fehlerbehandlungsroutine wird der Sub beendet, und der Code überspringt den Rest des Codes, der nach Exit Sub kommt. Stelle sicher, dass Du die Fehlerbehandlung richtig implementierst.

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