Για επόμενο βρόχο στο Excel VBA - Οδηγός για αρχάριους με παραδείγματα

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

Στο VBA, το looping χρησιμοποιείται όταν πρέπει να εκτελέσετε την ίδια εργασία πολλές φορές έως ότου ικανοποιηθεί μια συνθήκη (ή μέχρι να ισχύει μια συνθήκη).

Σε αυτό το σεμινάριο, θα μάθετε πώς να χρησιμοποιείτε το For Next Loop στο Excel VBA.

Εάν ενδιαφέρεστε να μάθετε VBA με τον εύκολο τρόπο, ελέγξτε το δικό μου Online Εκπαίδευση Excel VBA.

Χρήση FOR NEXT Loop στο Excel VBA

Ο βρόχος "Για επόμενο" λειτουργεί εκτελώντας τον βρόχο τον καθορισμένο αριθμό φορών.

Για παράδειγμα, αν σας ζητήσω να προσθέσετε τους ακέραιους αριθμούς από το 1 στο 10 με μη αυτόματο τρόπο, προσθέτετε τους δύο πρώτους αριθμούς, στη συνέχεια προσθέτετε τον τρίτο αριθμό στο αποτέλεσμα, στη συνέχεια προσθέτετε τον τέταρτο αριθμό στο αποτέλεσμα, ούτω καθεξής…

Έτσι δεν είναι;

Η ίδια λογική χρησιμοποιείται στον βρόχο For Next στο VBA.

Καθορίζετε πόσες φορές θέλετε να εκτελείται ο βρόχος και καθορίζετε επίσης τι θέλετε να κάνει ο κώδικας κάθε φορά που εκτελείται ο βρόχος.

Ακολουθεί η μορφή βρόχου For Next που πρέπει να χρησιμοποιήσετε στο VBA για να προσθέσετε τους πρώτους 10 ακέραιους αριθμούς.

Για i = 1 έως 10 [προσθέστε τον ith θετικό ακέραιο στο αποτέλεσμα] Επόμενο i

Τώρα ας ρίξουμε μια ματιά σε μερικά παραδείγματα για τον τρόπο χρήσης του βρόχου For Next.

Παράδειγμα 1: Προσθήκη των πρώτων 10 θετικών ακεραίων

Παρακάτω είναι ο κώδικας που θα προσθέσει τους πρώτους 10 θετικούς ακέραιους αριθμούς χρησιμοποιώντας έναν βρόχο For Next. Στη συνέχεια, θα εμφανίσει ένα πλαίσιο μηνυμάτων που δείχνει το άθροισμα αυτών των αριθμών.

Sub AddNumbers () Dim Total As Integer Dim Count As Integer Total = 0 Για Count = 1 To 10 Total = Σύνολο + Count Επόμενο πλήθος MsgBox Total End Sub

Σε αυτόν τον κώδικα, η τιμή του Σύνολο έχει οριστεί σε 0 προτού μπείτε στον βρόχο For Next.

Μόλις μπει στον βρόχο, διατηρεί τη συνολική τιμή μετά από κάθε βρόχο. Έτσι, μετά τον πρώτο βρόχο, όταν ο μετρητής είναι 1, η τιμή «Σύνολο» γίνεται 1 και μετά τον δεύτερο βρόχο γίνεται 3 (1+2) κ.ο.κ.

Και τέλος, όταν τελειώσει ο βρόχος και όταν το Total έχει το άθροισμα των πρώτων 10 θετικών ακεραίων, ένα MsgBox απλώς εμφανίζει το αποτέλεσμα σε ένα πλαίσιο μηνυμάτων.

Κάντε κλικ εδώ για λήψη του παραδείγματος αρχείου

Παράδειγμα 2: Προσθήκη των πρώτων 5 ακόμη και θετικών ακεραίων

Για να αθροίσουμε τους πέντε πρώτους άρτιους ακέραιους αριθμούς (δηλ., 2,4,6,8 και 10), χρειάζεστε έναν παρόμοιο κωδικό με προϋπόθεση για να λάβετε υπόψη μόνο τους ζυγούς αριθμούς και να αγνοήσετε τους περιττούς αριθμούς.

Εδώ είναι ένας κώδικας που θα το κάνει:

Sub AddEvenNumbers () Dim Total As Integer Dim Count As Integer Total = 0 Για Count = 2 To 10 Step 2 Total = Σύνολο + Count Επόμενο πλήθος MsgBox Total End Sub

Σημειώστε ότι ξεκινήσαμε την τιμή Count από 2 και χρησιμοποιήσαμε επίσης το βήμα 2 στη σύνταξη Για.

Το βήμα 2 θα πει στον κώδικα να αυξάνει την τιμή "Count" κατά 2 κάθε φορά που εκτελείται ο βρόχος. Έτσι, η τιμή Count ξεκινά από 2 και στη συνέχεια γίνεται 4, 6, 8 και 10 καθώς εμφανίζεται ο κύκλος.

ΣΗΜΕΙΩΣΗ: Ένας άλλος τρόπος για να γίνει αυτό θα μπορούσε να είναι η εκτέλεση του βρόχου από το 1 έως το 10 και μέσα στον βρόχο να ελέγξετε αν ο αριθμός είναι ζυγός ή περιττός. Ωστόσο, η χρήση του Step, σε αυτή την περίπτωση, είναι ένας πιο αποτελεσματικός τρόπος, καθώς δεν απαιτεί τον βρόχο να τρέξει 10 φορές, αλλά μόνο 5 φορές.

Κάντε κλικ εδώ για λήψη του παραδείγματος αρχείου.

Παράδειγμα 3: Λάβετε το αριθμητικό μέρος από μια αλφαριθμητική συμβολοσειρά

Ο βρόχος "Για το επόμενο" μπορεί επίσης να χρησιμοποιηθεί για να βολέψει κάθε χαρακτήρα σε μια συμβολοσειρά.

Για παράδειγμα, εάν έχετε μια λίστα αλφαριθμητικών συμβολοσειρών, μπορείτε να χρησιμοποιήσετε το βρόχο Για το επόμενο για να εξαγάγετε τους αριθμούς από αυτόν (όπως φαίνεται παρακάτω):

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

Εξάγει το αριθμητικό μέρος από την αλφαριθμητική συμβολοσειρά.

Λειτουργία GETNUMERIC (Cl As Range) Dim i As Integer Dim Result as Long For i = 1 To Len (Cl) If IsNumeric (Mid (Cl, i, 1)) then Result = Result & Mid (Cl, i, 1) Τέλος Εάν Επόμενο i GetNumeric = Λειτουργία λήξης αποτελεσμάτων

Σε αυτόν τον κώδικα, ο αριθμός των φορών που εκτελείται ο βρόχος εξαρτάται από το μήκος της αλφαριθμητικής συμβολοσειράς (χρησιμοποιεί τη συνάρτηση LEN για να βρει το μήκος της συμβολοσειράς).

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

Κάντε κλικ εδώ για λήψη του παραδείγματος αρχείου.

Παράδειγμα 4: Λήψη τυχαίων αριθμών στο επιλεγμένο εύρος

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

Sub RandomNumbers () Dim MyRange As Range Dim i As Integer, j As Integer Set MyRange = Selection For i = 1 To MyRange.Columns.Count For j = 1 To MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Επόμενο j Επόμενο i End Sub

Αυτό είναι ένα παράδειγμα ένθετου βρόχου For Next όπου ένας βρόχος For χρησιμοποιείται μέσα σε έναν βρόχο For.

Ας υποθέσουμε ότι κάνετε μια επιλογή από 10 σειρές και 4 στήλες, η τιμή i ποικίλλει από 1 έως 4 και η τιμή j κυμαίνεται από 1 έως 10.

Όταν εκτελείται ο πρώτος βρόχος For, η τιμή i είναι 1. Στη συνέχεια μετακινείται στον δεύτερο βρόχο For που εκτελείται 10 φορές (για κάθε σειρά).

Μόλις εκτελεστεί ο δεύτερος βρόχος For 10 φορές, επιστρέφει στον πρώτο βρόχο For όπου τώρα η τιμή i γίνεται 2. Και πάλι ο επόμενος βρόχος For εκτελείται 10 φορές.

Έτσι λειτουργεί ο βρόχος ένθετο For Next.

Κάντε κλικ εδώ για λήψη του παραδείγματος αρχείου.

Μπορεί επίσης να σας αρέσουν τα ακόλουθα μαθήματα Excel VBA:

  • Εργασία με κελιά και εύρη στο Excel VBA.
  • Εργασία με φύλλα εργασίας στο Excel VBA.
  • Εργασία με βιβλία εργασίας χρησιμοποιώντας VBA.
  • Χρήση IF then Else Statements στο VBA.
  • Excel VBA Select Case.
  • Δημιουργία συνάρτησης που καθορίζεται από το χρήστη στο Excel.
  • Excel VBA Events - Ένας εύκολος (και πλήρης) οδηγός
  • Πώς να καταγράψετε μια μακροεντολή στο Excel.
  • Πώς να εκτελέσετε μια μακροεντολή στο Excel.
  • Πώς να δημιουργήσετε ένα πρόσθετο στο Excel.
  • Πώς να αποθηκεύσετε και να επαναχρησιμοποιήσετε τη μακροεντολή χρησιμοποιώντας το Excel Personal Macro Workbook.
  • Χρήσιμα παραδείγματα μακροεντολών Excel για αρχάριους.
  • Χρήση της λειτουργίας InStr στο VBA.

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

wave wave wave wave wave