VBA Break For Loop - Πώς να βγείτε για βρόχο στο Excel VBA;

Πίνακας περιεχομένων

Excel VBA Break For Loop

Στο VBA Break For Loop είναι επίσης γνωστό ως έξοδος για βρόχο, σε κάθε βρόχο σε οποιαδήποτε διαδικασία έχει δοθεί ένα σύνολο οδηγιών ή κριτηρίων για να τρέχει nuber του χρόνου, αλλά είναι πολύ κοινό ότι κάποιος βρόχος μπαίνει σε έναν άπειρο βρόχο καταστρέφοντας έτσι το κώδικα σε τέτοια σενάρια χρειαζόμαστε διάλειμμα ή έξοδο για βρόχο για να βγούμε από ορισμένες καταστάσεις.

Ας υποθέσουμε ότι έχουμε δώσει εντολή στον βρόχο να τρέξει για 10 φορές και με βάση την συνθήκη που έχει δοθεί, εάν η τιμή του κελιού ή οποιαδήποτε άλλα παρεχόμενα κριτήρια είναι επιτυχής, τότε πρέπει να βγεί από τον βρόχο excel προτού ολοκληρώσει το όριο πλήρους βρόχου των 10. Σε αυτό το άρθρο, θα σας δείξουμε πώς να βγείτε από το βρόχο με βάση τα κριτήρια που δίνονται.

Πώς να σπάσετε / βγείτε βρόχους στο VBA;

# 1 - Break για επόμενο βρόχο

Το VBA For Next Loop χρησιμοποιείται για την εναλλαγή κυψελών και την εκτέλεση συγκεκριμένων εργασιών. Για παράδειγμα, δείτε τον παρακάτω κώδικα VBA.

Κώδικας:

Sub Exit_Loop () Dim K Όσο για K = 1 έως 10 Cells (K, 1). Value = K Next K End Sub

Αυτό θα εισαγάγει σειριακούς αριθμούς από το κελί A1 έως A10.

Αυτό είναι το προφανές πράγμα με το For Next Loop.

Τώρα θέλω να σπάσω το βρόχο όταν βρεθεί οποιαδήποτε τιμή στα πρώτα 10 κελιά. Για αυτό, έχω εισαγάγει κάποια τιμή κειμένου στο κελί A8.

Τώρα θέλω να το καθοδηγήσω στον κώδικα, λέγοντας, "εάν το κελί looping έχει μια συγκεκριμένη τιμή, πρέπει να βγεί από τον βρόχο πριν από το προκαθορισμένο όριο."

Κώδικας:

Sub Exit_Loop () Dim K Όσο για K = 1 έως 10 If Cells (K, 1). Value = "" Then Cells (K, 1). Value = K Else Exit For End if Next K End Sub

Κοιτάξτε αυτές τις γραμμές κώδικα:

If Cells (K, 1). Value = “” then
Cells (K, 1). Value = K
Else
Exit for
End Εάν

Λέει If Cells (K, 1). Value = "Το κελί looping δεν είναι τίποτα να συνεχίσει τον βρόχο εισαγωγής σειριακών αριθμών από 1 έως 10

Το τελευταίο μέρος του βρόχου λέει:

Αλλού

Έξοδος για

Εάν η παραπάνω συνθήκη δεν είναι Αληθινή, τότε ο βρόχος «Έξοδος για».

Τώρα εκτελέστε τον κωδικό. Θα εισαγάγει σειριακούς αριθμούς μέχρι το κελί A7.

Ο παραπάνω κωδικός βγήκε αμέσως από το βρόχο χωρίς να πει τίποτα. πώς ξέρουμε ότι έχει βγει από το βρόχο.

Για να ξεκαθαρίσουμε αυτήν την ασάφεια, πρέπει να τοποθετήσουμε ένα απλό πλαίσιο μηνύματος VBA παρακάτω.

Κώδικας:

Sub Exit_Loop () Dim K As Long For K = 1 to 10 If Cells (K, 1). Value = "" Then Cells (K, 1). Value = K Else MsgBox "Έχουμε μη κενά κελιά, στο κελί" & Κελιά (K, 1). Διεύθυνση & vbNewLine & "Βγαίνουμε από το βρόχο" Έξοδος για το τέλος αν το επόμενο K End Sub

Όταν πραγματοποιείτε βρόχο μέσω του κελιού, εάν βρεθεί κάποιο μη κενό κελί, θα εμφανιστεί το μήνυμα που λέει, "Πήραμε μη κενά κελιά, στο κελί A8. Βγαίνουμε από το βρόχο ».

Αυτό θα ενημερώσει τον χρήστη για την έξοδο του βρόχου με μια διεύθυνση κελιού επίσης. Εάν κάποια τιμή εισαχθεί κατά λάθος, τότε μπορούμε να ελέγξουμε τη διεύθυνση κελιού που επιστρέφεται στο πλαίσιο μηνύματος.

# 2 - Break Do Μέχρι Loop

Όπως και πώς βγήκαμε από το For Next Loop, ομοίως, μπορούμε να βγούμε και από το βρόχο "Do Before" Για παράδειγμα, δείτε τον παρακάτω κώδικα.

Κώδικας:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do έως K = 11 Cells (K, 1). Value = KK = K + 1 Loop End Sub

Αυτός ο κωδικός εκτελεί επίσης την εργασία εισαγωγής σειριακών αριθμών. Για παράδειγμα, εάν θέλουμε να βγούμε από το βρόχο όταν η μεταβλητή "k" τιμή γίνει 6, πρέπει να εισαγάγουμε τα κριτήρια ως IF k = 6 και μετά να βγούμε από το βρόχο.

Κώδικας:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do έως K = 11 If K <6 Then Cells (K, 1). Value = K Else Exit Do End if K = K + 1 Loop End Sub

Αυτό θα τρέξει το βρόχο έως ότου η μεταβλητή τιμή γίνει 6. Μετά από αυτό, θα βγεί από το βρόχο. Εάν θέλετε να εμφανίσετε το μήνυμα στον χρήστη, τότε μπορείτε επίσης να προσθέσετε το πλαίσιο μηνυμάτων.

Κώδικας:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do έως K = 11 If K 5 "Exit Do End if K = K + 1 Loop End Sub

Αυτό θα εμφανίσει το παρακάτω μήνυμα.

Έτσι, βάσει των κριτηρίων που δίνονται, μπορούμε να βγούμε από τον βρόχο αν τα κριτήρια είναι ΑΛΗΘΕΙΑ, αλλιώς μπορούμε να συνεχίσουμε τον βρόχο.

ενδιαφέροντα άρθρα...