Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA nach IF-ELSE abbrechen

VBA nach IF-ELSE abbrechen
03.01.2008 10:18:00
Uwe
Hallo, habe ein Problem, was vemrutlich darauf beruht, dass mein Fahrrad blau ist...hmmm. Also scheinbar hab ich ein Brett vorm Kopf:
Der Code:
Private Sub weiter_Click()
If CheckBox15.Value = False Then
MsgBox "Sie müssen bestätigen, die Sichtkontrolle lt. QM-Norm durchgeführt zu haben!"
Else
.....
wenn ich Also das Häkchen in Checkbox15 nicht gesetzt habe, kommt die MessageBox. danach wird Programm allerdings abgebrochen. soll es aber nicht. nur die Messagebox soll geschlossen werden, um dem Buntzer die Möglichkeit zu geben, den Haken zu setzen und dann nochmal den "Weiter" Button zu betätigen...
Weiss nicht, wieso ich nicht darauf komme!!!...?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA nach IF-ELSE abbrechen
03.01.2008 10:24:10
Rudi
Hallo,
Private Sub weiter_Click()
If CheckBox15.Value = False Then
MsgBox "Sie müssen bestätigen, die Sichtkontrolle lt. QM-Norm durchgeführt zu haben!"
Exit Sub
Else
....
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Klasse, vielen Dank (OT)
03.01.2008 11:03:08
Uwe
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
Anzeige
Anzeige

Infobox / Tutorial

VBA nach IF-ELSE abbrechen


Schritt-für-Schritt-Anleitung

Um eine IF-ELSE-Abfrage in Excel VBA so zu gestalten, dass der Code nicht abbricht und der Benutzer die Möglichkeit hat, seine Eingabe zu korrigieren, kannst Du folgenden Code verwenden:

Private Sub weiter_Click()
    If CheckBox15.Value = False Then
        MsgBox "Sie müssen bestätigen, die Sichtkontrolle lt. QM-Norm durchgeführt zu haben!"
        Exit Sub ' Abbrechen der Sub-Prozedur, aber nicht des gesamten Codes
    Else
        ' Der Rest deines Codes hier
    End If
End Sub

In diesem Beispiel wird die MsgBox angezeigt, wenn das Kontrollkästchen nicht aktiviert ist. Der Exit Sub Befehl sorgt dafür, dass die Prozedur abgebrochen wird, jedoch nicht die gesamte Anwendung. Der Benutzer kann das Kontrollkästchen aktivieren und den Button erneut betätigen.


Häufige Fehler und Lösungen

Fehler 1: Der Code bricht nach der Nachricht vollständig ab.
Lösung: Stelle sicher, dass Du Exit Sub verwendest, um die Sub-Prozedur zu beenden, und nicht die gesamte Anwendung.

Fehler 2: Die Nachricht wird nicht angezeigt.
Lösung: Überprüfe, ob die Bedingung in der IF-Abfrage korrekt ist.


Alternative Methoden

Du kannst auch If...ElseIf...Else verwenden, um mehrere Bedingungen zu prüfen. Hier ein Beispiel:

Private Sub weiter_Click()
    If CheckBox15.Value = False Then
        MsgBox "Bitte bestätigen."
        Exit Sub
    ElseIf CheckBox16.Value = False Then
        MsgBox "Bitte auch die zweite Checkbox bestätigen."
        Exit Sub
    Else
        ' Weiterer Code
    End If
End Sub

Mit ElseIf kannst Du mehrere Bedingungen prüfen, bevor Du den Code ausführst.


Praktische Beispiele

Hier ist ein Beispiel, wie Du eine IF-Abfrage in einer Schleife verwenden kannst, um mehrere Überprüfungen durchzuführen:

For i = 1 To 10
    If Cells(i, 1).Value = "" Then
        MsgBox "Die Zelle " & i & " ist leer!"
        Exit For ' Schleife abbrechen
    End If
Next i

In diesem Beispiel wird die Schleife abgebrochen, wenn eine leere Zelle gefunden wird.


Tipps für Profis

  • Verwende immer Exit Sub in Deinen IF-Abfragen, um sicherzustellen, dass die Prozedur kontrolliert beendet wird.
  • Nutze ElseIf, um mehrere Bedingungen effizient abzufragen.
  • Halte Deine Meldungen klar und präzise, um dem Benutzer zu helfen, schnell zu reagieren.

FAQ: Häufige Fragen

1. Wie kann ich eine IF-Abfrage in einer Schleife verwenden?
Du kannst For-Schleifen zusammen mit If...Then-Abfragen kombinieren, um mehrere Zellen zu überprüfen.

2. Kann ich mehrere Bedingungen in einer IF-Abfrage kombinieren?
Ja, Du kannst And, Or und ElseIf verwenden, um komplexe logische Bedingungen zu erstellen.

3. Was passiert, wenn ich Exit Sub nicht verwende?
Wenn Du Exit Sub nicht verwendest, wird der Code nach der MsgBox fortgesetzt, was möglicherweise zu unerwarteten Ergebnissen führt.

4. Wie kann ich den Code vorzeitig beenden, wenn alle Bedingungen erfüllt sind?
Du kannst eine weitere If-Abfrage hinzufügen, die prüft, ob alle Bedingungen erfüllt sind und in diesem Fall den Code mit Exit Sub abbricht.

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