Πώς να χρησιμοποιήσετε τους βρόχους For-Next στο Excel 2016 VBA

Ο απλούστερος τύπος βρόχου στον προγραμματισμό του Excel VBA είναι ένας βρόχος For-Next. Ο βρόχος ελέγχεται από μια μεταβλητή μετρητή, η οποία ξεκινά από μια τιμή και σταματά σε μια άλλη τιμή. Οι δηλώσεις μεταξύ της πρότασης For και της εντολής Next είναι οι δηλώσεις που επαναλαμβάνονται στον βρόχο.

Ένα παράδειγμα για το επόμενο

Το παρακάτω παράδειγμα χρησιμοποιεί έναν βρόχο For-Next για να αθροίσει τους πρώτους 1.000 θετικούς αριθμούς. Η μεταβλητή Σύνολο ξεκινά ως μηδέν. Έπειτα γίνεται το looping. Η μεταβλητή Cnt είναι ο μετρητής βρόχου. Ξεκινά ως 1 και αυξάνεται κατά 1 κάθε φορά μέσω του βρόχου. Ο βρόχος τελειώνει όταν το Cnt είναι 1.000.

Αυτό το παράδειγμα έχει μόνο μία δήλωση μέσα στον βρόχο. Αυτή η δήλωση προσθέτει την τιμή του Cnt στη μεταβλητή Total. Όταν τελειώσει ο βρόχος, ένα MsgBox εμφανίζει το άθροισμα των αριθμών.

Sub AddNumbers()
  Dim Total As Double
  Dim Cnt As Long
  Σύνολο = 0
  Για Cnt = 1 έως 1000
    Σύνολο = Σύνολο + Cnt
  Επόμενο Cnt
  Σύνολο MsgBox
End Sub

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

Για-Επόμενα παραδείγματα με Βήμα

Μπορείτε να χρησιμοποιήσετε μια τιμή Step για να παραλείψετε ορισμένες τιμές μετρητή σε έναν βρόχο For-Next. Ακολουθεί το προηγούμενο παράδειγμα, που γράφτηκε ξανά για να αθροιστούν μόνο οι περιττοί αριθμοί μεταξύ 1 και 1.000:

Sub AddOddNumbers()
  Dim Total As Double
  Dim Cnt As Long
  Σύνολο = 0
  Για Cnt = 1 έως 1000 Βήμα 2
    Σύνολο = Σύνολο + Cnt
  Επόμενο Cnt
  Σύνολο MsgBox
End Sub

Αυτή τη φορά, το Cnt ξεκινά ως 1 και στη συνέχεια παίρνει τιμές 3, 5, 7 και ούτω καθεξής. Η τιμή Step καθορίζει τον τρόπο με τον οποίο αυξάνεται ο μετρητής. Παρατηρήστε ότι η τιμή του ανώτερου βρόχου (1000) δεν χρησιμοποιείται στην πραγματικότητα επειδή η υψηλότερη τιμή του Cnt θα είναι 999.

Ακολουθεί ένα άλλο παράδειγμα που χρησιμοποιεί τιμή Βήματος 3. Αυτή η διαδικασία λειτουργεί με το ενεργό φύλλο και εφαρμόζει σκίαση ανοιχτού γκρι σε κάθε τρίτη σειρά, από τη σειρά 1 έως τη σειρά 100.

Sub ShadeEveryThirdRow()
  Dim i As Long
  Για i = 1 έως 100 Βήμα 3
    Σειρές(i).Εσωτερικό.Χρώμα = RGB(200, 200, 200)
  Επόμενο i
End Sub

Δείτε το αποτέλεσμα της εκτέλεσης αυτής της μακροεντολής.

Πώς να χρησιμοποιήσετε τους βρόχους For-Next στο Excel 2016 VBA

Χρήση βρόχου για εφαρμογή σκίασης φόντου σε σειρές.

Ένα παράδειγμα For-Next με δήλωση Exit For

Ένας βρόχος For-Next μπορεί επίσης να περιλαμβάνει μία ή περισσότερες δηλώσεις Exit For εντός του βρόχου. Όταν το VBA συναντήσει αυτήν τη δήλωση, ο βρόχος τερματίζεται αμέσως.

Το ακόλουθο παράδειγμα δείχνει την πρόταση Exit For. Αυτή η ρουτίνα είναι μια διαδικασία λειτουργίας, που προορίζεται να χρησιμοποιηθεί σε έναν τύπο φύλλου εργασίας. Η συνάρτηση δέχεται ένα όρισμα (μια μεταβλητή με το όνομα Str) και επιστρέφει τους χαρακτήρες στα αριστερά του πρώτου αριθμητικού ψηφίου. Για παράδειγμα, εάν το όρισμα είναι "KBR98Z", η συνάρτηση επιστρέφει "KBR".

Συνάρτηση TextPart(Str)
  Dim i As Long
  TextPart = ""
  Για i = 1 To Len(Str)
    Αν IsNumeric(Mid(Str, i, 1)) Τότε
      Έξοδος για
    Αλλού
      TextPart = TextPart & Mid(Str, i, 1)
    Τέλος εαν
  Επόμενο i
Λειτουργία τερματισμού

Ο βρόχος For-Next ξεκινά με 1 και τελειώνει με τον αριθμό που αντιπροσωπεύει τον αριθμό των χαρακτήρων στη συμβολοσειρά. Ο κώδικας χρησιμοποιεί τη συνάρτηση Mid της VBA για να εξαγάγει έναν μόνο χαρακτήρα εντός του βρόχου. Εάν βρεθεί ένας αριθμητικός χαρακτήρας, εκτελείται η πρόταση Exit For και ο βρόχος τελειώνει πρόωρα.

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

Ένα ένθετο παράδειγμα For-Next

Μπορείτε να έχετε οποιονδήποτε αριθμό δηλώσεων στον βρόχο και να τοποθετήσετε τους βρόχους For-Next μέσα σε άλλους βρόχους For-Next.

Το παρακάτω παράδειγμα χρησιμοποιεί έναν ένθετο βρόχο For-Next για την εισαγωγή τυχαίων αριθμών σε μια περιοχή κελιών 12 σειρών επί 5 στηλών. Παρατηρήστε ότι η ρουτίνα εκτελεί τον εσωτερικό βρόχο (τον βρόχο με τον μετρητή Row) μία φορά για κάθε επανάληψη του εξωτερικού βρόχου (τον βρόχο με τον μετρητή Col). Με άλλα λόγια, η ρουτίνα εκτελεί την πρόταση Cells(Row, Col) = Rnd 60 φορές.

Πώς να χρησιμοποιήσετε τους βρόχους For-Next στο Excel 2016 VBA

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

Sub FillRange()
  Dim Col As Long
  Αδύναμη σειρά όσο διαρκεί
  Για Col = 1 έως 5
    Για σειρά = 1 έως 12
      Κελιά(Σειρά, Στήλη) = Rnd
    Επόμενη σειρά
  Επόμενος Κολ
End Sub

Το επόμενο παράδειγμα χρησιμοποιεί ένθετους βρόχους For-Next για να προετοιμάσει έναν τρισδιάστατο πίνακα με την τιμή 100. Αυτή η ρουτίνα εκτελεί τη δήλωση στη μέση όλων των βρόχων (η δήλωση εκχώρησης) 1.000 φορές (10 * 10 * 10), κάθε φορά με διαφορετικό συνδυασμό τιμών για i, j και k:

Sub NestedLoops()
  Dim MyArray(10, 10, 10)
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Για i = 1 έως 10
    Για j = 1 έως 10
      Για k = 1 έως 10
        MyArray(i, j, k) = 100
    Επόμενο κ
  Επόμενο j
Επόμενο i
  Άλλες δηλώσεις πηγαίνουν εδώ
End Sub

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

Πώς να χρησιμοποιήσετε τους βρόχους For-Next στο Excel 2016 VBA

Χρησιμοποιώντας βρόχους για να δημιουργήσετε ένα μοτίβο σκακιέρας.

Ο μετρητής σειρών κάνει βρόχους από το 1 έως το 8. Μια κατασκευή If-Then καθορίζει ποια ένθετη δομή For-Next θα χρησιμοποιηθεί. Για σειρές με περιττούς αριθμούς, ο μετρητής Col αρχίζει με 2. Για σειρές με ζυγούς αριθμούς, ο μετρητής Col ξεκινά με 1. Και οι δύο βρόχοι χρησιμοποιούν τιμή Βήματος 2, επομένως επηρεάζονται εναλλακτικά κελιά. Δύο πρόσθετες προτάσεις καθιστούν τα κελιά τετράγωνα (ακριβώς όπως ένα πραγματικό σκακιέρα).

Sub MakeCheckerboard()
  Dim R όσο καιρό, C όσο καιρό
  Για R = 1 έως 8
    If WorksheetFunction.IsOdd(R) Τότε
     Για C = 2 έως 8 Βήμα 2
       Κυψέλες(R, C).Εσωτερικό.Χρώμα = 255
     Επόμενο Γ
    Αλλού
     Για C = 1 έως 8 Βήμα 2
       Κυψέλες(R, C).Εσωτερικό.Χρώμα = 255
     Επόμενο Γ
    Τέλος εαν
  Επόμενος R
  Σειρές ("1:8").Ύψος σειράς = 35
  Στήλες("A:H").Πλάτος στήλης = 6,5
End Sub

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows Το Microsoft Word ανοίγει αρχεία σε λειτουργία μόνο για ανάγνωση, καθιστώντας αδύνατη την επεξεργασία του; Μην ανησυχείτε, οι μέθοδοι είναι παρακάτω

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

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

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

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

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Η βιβλιοθήκη στυλ περιέχει αρχεία CSS, αρχεία επεκτάσιμης γλώσσας φύλλου στυλ (XSL) και εικόνες που χρησιμοποιούνται από προκαθορισμένες κύριες σελίδες, διατάξεις σελίδων και στοιχεία ελέγχου στο SharePoint 2010. Για να εντοπίσετε αρχεία CSS στη βιβλιοθήκη στυλ μιας τοποθεσίας δημοσίευσης: Επιλέξτε Ενέργειες τοποθεσίας→ Προβολή Όλο το περιεχόμενο του ιστότοπου. Εμφανίζεται το περιεχόμενο του ιστότοπου. Η βιβλιοθήκη Style βρίσκεται στο […]

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μην κατακλύζετε το κοινό σας με τεράστιους αριθμούς. Στο Microsoft Excel, μπορείτε να βελτιώσετε την αναγνωσιμότητα των πινάκων εργαλείων και των αναφορών σας μορφοποιώντας τους αριθμούς σας ώστε να εμφανίζονται σε χιλιάδες ή εκατομμύρια.

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Μάθετε πώς να χρησιμοποιείτε τα εργαλεία κοινωνικής δικτύωσης του SharePoints που επιτρέπουν σε άτομα και ομάδες να επικοινωνούν, να συνεργάζονται, να μοιράζονται και να συνδέονται.

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται συχνά σε περιβάλλοντα παραγωγής ως χρονική σήμανση και γρήγορη αναφορά για έναν αριθμό παρτίδας. Αυτός ο τύπος κωδικοποίησης ημερομηνίας επιτρέπει στους λιανοπωλητές, τους καταναλωτές και τους αντιπροσώπους υπηρεσιών να προσδιορίσουν πότε κατασκευάστηκε ένα προϊόν και, επομένως, την ηλικία του προϊόντος. Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται επίσης στον προγραμματισμό, τον στρατό και την αστρονομία. Διαφορετικές […]

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού στην Access 2016. Τι είναι λοιπόν μια εφαρμογή Ιστού; Λοιπόν, ο Ιστός σημαίνει ότι είναι διαδικτυακός και η εφαρμογή είναι απλώς συντομογραφία της «εφαρμογής». Μια προσαρμοσμένη εφαρμογή Ιστού είναι μια διαδικτυακή εφαρμογή βάσης δεδομένων στην οποία έχει πρόσβαση από το cloud χρησιμοποιώντας ένα πρόγραμμα περιήγησης. Δημιουργείτε και συντηρείτε την εφαρμογή Ιστού στην έκδοση για υπολογιστές […]

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Οι περισσότερες σελίδες στο SharePoint 2010 εμφανίζουν μια λίστα με συνδέσμους πλοήγησης στη γραμμή γρήγορης εκκίνησης στην αριστερή πλευρά της σελίδας. Η γραμμή γρήγορης εκκίνησης εμφανίζει συνδέσμους προς επιλεγμένο περιεχόμενο ιστότοπου, όπως λίστες, βιβλιοθήκες, τοποθεσίες και σελίδες δημοσίευσης. Η γραμμή γρήγορης εκκίνησης περιλαμβάνει δύο πολύ σημαντικούς συνδέσμους: Σύνδεσμος όλου του περιεχομένου του ιστότοπου: Η […]

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Για απλά προβλήματα, ο Επίλυση στο Excel συνήθως βρίσκει γρήγορα τις βέλτιστες τιμές μεταβλητής Επίλυσης για τη συνάρτηση αντικειμένου. Ωστόσο, σε ορισμένες περιπτώσεις, ο Επίλυση δυσκολεύεται να βρει τις τιμές της μεταβλητής Επίλυσης που βελτιστοποιούν τη συνάρτηση στόχου. Σε αυτές τις περιπτώσεις, ο Επίλυση εμφανίζει συνήθως ένα μήνυμα ή ένα μήνυμα σφάλματος που περιγράφει ή συζητά το πρόβλημα που […]