VBA για επόμενο - Οδηγός για τη χρήση του Excel VBA για την επόμενη δήλωση

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

Excel VBA για επόμενο βρόχο

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

Ο βρόχος «For Next» είναι ένας από αυτούς τους βρόχους που χρησιμοποιείται πολύ συχνά από άλλους βρόχους στην κωδικοποίηση VBA. Οι βρόχοι θα μας βοηθήσουν να επαναλάβουμε το ίδιο είδος εργασίας για συγκεκριμένα κελιά έως ότου η συνθήκη είναι ΑΛΗΘΕΙΑ.

ΓΙΑ ΤΟ ΒΡΟΧΟΣ βγαίνει στο εύρος των κελιών και εκτελεί μια συγκεκριμένη εργασία έως ότου η κατάσταση είναι ΑΛΗΘΕΙΑ. Για παράδειγμα, εάν θέλετε να κάνετε βρόχο στα πρώτα 10 κελιά και να εισαγάγετε σειριακούς αριθμούς που αυξάνονται κατά 1, μπορείτε να χρησιμοποιήσετε το βρόχο FOR NEXT.

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

Περιλαμβάνει τρεις παραμέτρους.

Για δήλωση = Σημείο εκκίνησης έως τελικό σημείο (Εκτέλεση ορισμένης εργασίας)

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

Πώς να χρησιμοποιήσετε το VBA For Next Loop;

Ας υποθέσουμε ότι θέλετε να εισαγάγετε σειριακούς αριθμούς από 1 έως 10 έως A1 έως A10 κελιά. Φυσικά, μπορούμε να εισαγάγουμε σαν να γράφουμε δέκα γραμμές κώδικα.

Κώδικας:

Sub For_Next_Loop_Example1 () Range ("A1"). Value = 1 Range ("A2"). Value = 2 Range ("A3"). Value = 3 Range ("A4"). Value = 4 Range ("A5") .Value = 5 Range ("A6"). Value = 6 Range ("A7"). Value = 7 Range ("A8"). Value = 8 Range ("A9"). Value = 9 Range ("A10") . Αξία = 10 End Sub

Τι γίνεται όμως αν θέλω να εισαγάγω 100 σειριακούς αριθμούς; Φυσικά, δεν μπορώ να γράψω 100 γραμμές κώδικα για να εισαγάγω σειριακούς αριθμούς. Αυτό είναι όπου η ομορφιά του βρόχου "FOR NEXT" έρχεται στη φωτογραφία. Ακολουθήστε τα παρακάτω βήματα για να ελαχιστοποιήσετε τον κώδικα.

Βήμα 1: Πρώτον, πρέπει να ορίσουμε μια μεταβλητή. Έχω δηλώσει το όνομα μεταβλητής που ονομάζεται "Serial_Number" ως ακέραιο τύπο δεδομένων.

Κώδικας:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Βήμα 2: Τώρα παραγγέλνω να εφαρμόσω ΓΙΑ ΕΠΟΜΕΝΟ βρόχο, στόχος μας είναι να εισαγάγουμε σειριακούς αριθμούς από 1 έως 10, οπότε αυτό σημαίνει ότι ο βρόχος μας πρέπει να τρέξει για δέκα φορές. Έτσι, η δήλωση FOR LOOP πρέπει να είναι έτσι.

Για σειριακό αριθμό = 1 έως 10

Επόμενος αριθμός σειράς

Κώδικας:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer For Serial_Number = 1 to 10 Next Serial_Number End Sub

Βήμα 3: Εφαρμόσαμε το βρόχο. Τώρα μόλις εφαρμοστεί ο βρόχος, πρέπει να καθορίσουμε τι πρέπει να κάνουμε μέσα στον βρόχο. Στόχος μας εδώ είναι να εισαγάγουμε σειριακούς αριθμούς από 1 έως 10. Γι 'αυτό γράψτε τον κωδικό ως Κελιά (Serial_Number, 1). Value = Serial_Number.

Κώδικας:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 to 10 Cells (Serial_Number, 1). Value = Serial_Number Dim Serial_Number End Sub

Βήμα 4: Ο λόγος για τον οποίο δώσαμε το Serial_Number στην ιδιότητα CELLS, επειδή δεν μπορούμε να καθορίσουμε τον αριθμό hardcore για αναφορά σειράς εδώ Κάθε φορά που εκτελείται βρόχος, θέλω να εισάγω τον νέο σειριακό αριθμό στο νέο κελί και όχι στο ίδιο κελί.

Βήμα 5: Εκτελέστε τη γραμμή γραμμής ανά γραμμή πατώντας το πλήκτρο F8.

Βήμα 6: Τοποθετήστε έναν κέρσορα στη μεταβλητή Serial_Number; δείχνει την τρέχουσα τιμή του Serial_Number.

Σε αυτό το χρονικό σημείο, η τιμή Serial_Number είναι μηδέν.

Βήμα 7: Πατήστε για άλλη μια φορά το πλήκτρο F8, το κίτρινο χρώμα θα μετακινηθεί στην επόμενη γραμμή κώδικα στο VBA. Τώρα τοποθετήστε έναν κέρσορα στον αριθμό σειράς.

Τώρα η τιμή του Serial_Number είναι ίση με μία, επειδή τώρα ξεκινά ο βρόχος και ο βρόχος μας ξεκινά από 1, οπότε η τιμή της μεταβλητής Serial_Number είναι ίση με μία.

Ένα πιο ενδιαφέρον πράγμα εδώ είναι όπου υπάρχει η μεταβλητή Serial_Number, που είναι επίσης ίση με 1.

Έτσι, στην ιδιότητα κελιά, έχουμε αναφέρει τον κωδικό ως:

Κελιά (Serial_Number, 1). Value = Serial_Number

Αυτό σημαίνει κελιά (1, 1). Τιμή = 1. (Κελιά (1,1) σημαίνει Row1 & Column1.

Έτσι, στον αριθμό 1 και στον αριθμό στήλης 1, η τιμή πρέπει να είναι 1.

Βήμα 8: Τώρα πατήστε F8 για άλλη μια φορά και δείτε τι συμβαίνει στο Row1 & Column1, δηλαδή στο κελί A1.

Λάβαμε λοιπόν 1 ως την τιμή, δηλαδή, την τιμή Serial_Number.

Step 9: Now press the F8 key one more time. Typically next code should be run i.e., the end of the substatement. But here, it will go back to the “above line.”

Step 10: Remember the loop already completed the first run. Now it returns for the second time. Now place a cursor on the variable Serial_Number and see what the value is.

Now variable Serial_Number is equal to 2 because the loop already returned for the second time.

Now, wherever Serial_Number is, there is equal to the value of 2. So the line code:

Cells(Serial_Number, 1).Value = Serial_Number is equal to:

Cells(2, 1).Value = 2. (Cells (2,1) means Row2 & Column1 i.e. A2 cell).

Step 11: Run this code and see the value in the A2 cell.

So, we got the second serial number value.

Βήμα 12: Τώρα πατήστε το πλήκτρο F8. Θα επιστρέψει ξανά στην παραπάνω γραμμή για να επαναλάβει τον κωδικό. Αυτή τη φορά η τιμή Serial_Number θα είναι 3.

Βήμα 13: Οπουδήποτε και αν είναι ο αριθμός σειράς, υπάρχει ίσος με 3.

Έτσι, ο κωδικός γραμμής: Κελιά (Serial_Number, 1). Value = Serial_Number ισούται με:

Κελιά (3, 1). Τιμή = 3. (Κελιά (3,1) σημαίνει Row3 & Column1, δηλαδή A3 κελί).

Βήμα 14: Πατήστε F8 για να εκτελέσετε την επισημασμένη γραμμή και να δείτε την τιμή στο κελί A3.

Βήμα 15: Τώρα συνεχίστε να πατάτε το F8. Θα συνεχίσει να εισάγει τους σειριακούς αριθμούς. Η τιμή ροπής της μεταβλητής Serial_Number είναι 10 θα σταματήσει να βγαίνει και θα βγεί από το βρόχο.

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