VBA Exit Sub ή λειτουργία

Στο VBA, μπορείτε να βγείτε από ένα δευτερεύον ή μια λειτουργία, χρησιμοποιώντας το Έξοδος Sub ή Λειτουργία εξόδου εντολές.

1 Έξοδος Sub
1 Λειτουργία εξόδου

Όταν φτάσει η εκτέλεση του κώδικα Έξοδος Sub ή Λειτουργία εξόδου, θα εξέλθει από ένα Sub ή μια λειτουργία και θα συνεχίσει με οποιαδήποτε άλλη εκτέλεση κώδικα.

Εάν θέλετε να μάθετε πώς να εξέρχεστε από ένα σφάλμα Sub on Error, κάντε κλικ σε αυτόν τον σύνδεσμο: VBA On Error Exit Sub

Εάν θέλετε να μάθετε πώς να τερματίζετε ολόκληρη την εκτέλεση κώδικα, κάντε κλικ σε αυτόν τον σύνδεσμο: VBA End

Έξοδος από ένα Sub στο VBA

Θα δείτε στο παράδειγμα τι συμβαίνει όταν χρησιμοποιούμε το Έξοδος Sub εντολή σε ένα Sub. Δημιουργήσαμε ένα Sub ExitSub, το οποίο έχει το Έξοδος Sub εντολή μέσα. Ο ΥπεύθυνοςCallExitSub καλεί αυτό το Υπο. Εδώ είναι ο κωδικός:

123456789101112131415161718 Private Sub ExitSub ()Dim i As IntegerΓια i = 1 έως 10Αν i = 5 ΤότεΈξοδος SubMsgBox "Η τιμή του i είναι" & iΤέλος εανΕπόμενο iΤέλος υποPrivate Sub CallExitSub ()Καλέστε το ExitSubMsgBox "Exit Sub"Τέλος υπο

Στο ExitSub, εισάγουμε πρώτα το For Loop εάν η τιμή i είναι μικρότερη από 10:

123 Για i = 1 έως 10Επόμενο i

Μετά από αυτό ελέγχουμε αν η τιμή i είναι ίση με 5, χρησιμοποιώντας την εντολή If. Εάν η τιμή είναι 5, θέλουμε να βγούμε από το Sub και να επιστρέψουμε το πλαίσιο Μηνύματος με την τιμή i:

1234 Αν i = 5 ΤότεΈξοδος SubMsgBox "Η τιμή του i είναι" & iΤέλος εαν

Εάν η συνθήκη δεν πληρούται, η ακόλουθη πρόταση αυξάνει το i κατά 1 και εισέρχεται ξανά στον βρόχο For:

1 Επόμενο i

Στο CallExitSub, καλούμε πρώτα το Sub ExitSub:

1 Κλήση ExitSub

Στη συνέχεια επιστρέφουμε το πλαίσιο μηνυμάτων:

1 MsgBox "Exit Sub"

Εάν τρέχετε το CallExitSub, θα καλέσει πρώτα το ExitSubΤο Εάν εκτελέσετε αυτόν τον κώδικα στη λειτουργία εντοπισμού σφαλμάτων, θα δείτε ότι θα περάσει από τον βρόχο 5 φορές. Στο 5ου επανάληψη, η τιμή της μεταβλητής i γίνεται 5 και ο κωδικός εισέρχεται στο σώμα If. Τώρα το Sub ExitSub εξέρχεται και επιστρέφεται στο CallExitSubΤο Η επόμενη γραμμή είναι MsgBox "Exit Sub":

Όπως μπορείτε να δείτε, το ExitSub εξέρχεται αμέσως μετά Έξοδος Sub εντολή, άρα το MsgBox "Η τιμή του i είναι" & i δεν θα εκτελεστεί ποτέ.

Έξοδος από μια λειτουργία στο VBA

Η έξοδος από μια λειτουργία στο VBA είναι παρόμοια με την έξοδο από ένα Sub, απλώς η εντολή είναι Λειτουργία εξόδουΤο Στο παράδειγμα, δημιουργήσαμε το ExitFunc που επιστρέφει έναν ακέραιο. Ο Υπεύθυνος CallExitFunction καλεί αυτήν τη συνάρτηση. Εδώ είναι ο κωδικός:

1234567891011121314151617181920 Ιδιωτική λειτουργία ExitFunc () ως ακέραιοςDim i As IntegerΓια i = 1 έως 10Αν i = 5 ΤότεExitFunc = iΛειτουργία εξόδουΤέλος εανΕπόμενο iΛειτουργία ΤέλουςPrivate Sub CallExitFunction ()Dim intFunc As IntegerintFunc = ExitFunction ()MsgBox "Η τιμή του intFunc είναι" & intFuncΤέλος υπο

Στο ExitFunc, εισάγουμε πρώτα το For Loop εάν η τιμή i είναι μικρότερη από 10:

123 Για i = 1 έως 10Επόμενο i

Μετά από αυτό ελέγχουμε αν η τιμή i είναι ίση με 5, χρησιμοποιώντας την εντολή If. Εάν η τιμή είναι 5, εκχωρούμε την τιμή i στο αποτέλεσμα συνάρτησης και εξέρχομαι από τη συνάρτηση:

1234 Αν i = 5 ΤότεExitFunc = iΛειτουργία εξόδουΤέλος εαν

Εάν η συνθήκη δεν πληρούται, η ακόλουθη πρόταση αυξάνει το i κατά 1 και εισέρχεται ξανά στον βρόχο For:

1 Επόμενο i

Στο CallExitFunction, καλούμε πρώτα τη συνάρτηση ExitFunc: Για να γίνει αυτό πρέπει να δηλώσουμε τη μεταβλητή intFunc πληκτρολογήστε ακέραιο και αντιστοιχίστε το αποτέλεσμα του ExitFunc λειτουργεί σε αυτό:

123 Dim intFunc As IntegerintFunc = ExitFunction ()

Μετά από αυτό επιστρέφουμε το πλαίσιο μηνυμάτων με την τιμή του intFunc:

1 MsgBox "Η τιμή του intFunc είναι" & intFunc

Εάν τρέχετε το CallExitFunction, θα καλέσει πρώτα τη συνάρτηση ExitFuncΤο Εάν εκτελέσετε αυτόν τον κώδικα στη λειτουργία εντοπισμού σφαλμάτων, θα δείτε ότι θα περάσει από τον βρόχο 5 φορές. Στο 5ου επανάληψη, η τιμή της μεταβλητής i γίνεται 5 και ο κωδικός εισέρχεται στο σώμα If. Τώρα η αξία του ExitFunc γίνεται i και η συνάρτηση εξέρχεται και επιστρέφεται στο CallExitFunctionΤο Η επόμενη γραμμή είναι MsgBox "Η τιμή του intFunc είναι" & intFunc:

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave