Τρόπος χρήσης για κάθε επόμενο βρόχο με συλλογές στο VBA Excel 2016

Το VBA υποστηρίζει έναν άλλο τύπο βρόχου στο Excel 2016: επαναφορά σε κάθε αντικείμενο σε μια συλλογή αντικειμένων. Μια συλλογή, όπως ίσως γνωρίζετε, αποτελείται από έναν αριθμό αντικειμένων του ίδιου τύπου. Για παράδειγμα, το Excel έχει μια συλλογή από όλα τα ανοιχτά βιβλία εργασίας (η συλλογή Βιβλία εργασίας) και κάθε βιβλίο εργασίας έχει μια συλλογή από φύλλα εργασίας (η συλλογή Φύλλα εργασίας).

Όταν χρειάζεται να κάνετε κύκλο σε κάθε αντικείμενο σε μια συλλογή, χρησιμοποιήστε τη δομή Για κάθε-Επόμενο. Το ακόλουθο παράδειγμα κάνει κύκλους σε κάθε φύλλο εργασίας στο ενεργό βιβλίο εργασίας και διαγράφει το φύλλο εργασίας εάν είναι κενό:

Sub DeleteEmptySheets()
  Dim WkSht ως φύλλο εργασίας
  Application.DisplayAlerts = False
  Για κάθε WkSht Στο ActiveWorkbook.Worksheets
    Αν WorksheetFunction.CountA(WkSht.Cells) = 0 Τότε
      WkSht.Διαγραφή
    Τέλος εαν
  Επόμενο WkSht
  Application.DisplayAlerts = True
End Sub

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

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

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

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

Sub HideSheets()
  Dim Sht As φύλλο εργασίας
  For Every Sht In ActiveWorkbook.Worksheets
    Αν Sht.Name <> ActiveSheet.Name Τότε
      Sht.Visible = xlSheetHidden
    Τέλος εαν
  Επόμενος Στ
End Sub

Η διαδικασία HideSheets ελέγχει το όνομα του φύλλου. Εάν δεν είναι το ίδιο με το όνομα του ενεργού φύλλου, το φύλλο είναι κρυφό. Σημειώστε ότι η ιδιότητα Visible δεν είναι Boolean. Αυτή η ιδιότητα μπορεί στην πραγματικότητα να λάβει οποιαδήποτε από τις τρεις τιμές και το Excel παρέχει τρεις ενσωματωμένες σταθερές. Εάν είστε περίεργοι για την τρίτη πιθανότητα (xlVeryHidden), ελέγξτε το σύστημα Βοήθειας.

Ό,τι αποκρύπτεται πρέπει τελικά να μην κρυφτεί, οπότε ακολουθεί μια μακροεντολή που αποκρύπτει όλα τα φύλλα εργασίας στο ενεργό βιβλίο εργασίας:

Sub UnhideSheets()
  Dim Sht As φύλλο εργασίας
  For Every Sht In ActiveWorkbook.Worksheets
    Sht.Visible = xlSheetVisible
  Επόμενος Στ
End Sub

Δεν αποτελεί έκπληξη το γεγονός ότι μπορείτε να δημιουργήσετε ένθετους βρόχους For Every-Next. Η διαδικασία CountBold πραγματοποιεί βρόχους σε κάθε κελί της χρησιμοποιούμενης περιοχής σε κάθε φύλλο εργασίας σε κάθε ανοιχτό βιβλίο εργασίας και εμφανίζει μια μέτρηση του αριθμού των κελιών που έχουν μορφοποιηθεί με έντονη γραφή:

Sub CountBold()
  Dim WBook ως βιβλίο εργασίας
  Dim Wsheet ως φύλλο εργασίας
  Dim Cell As Range
  Dim Cnt As Long
  Για κάθε WBook σε βιβλία εργασίας
    Για κάθε φύλλο εργασίας στο WBook.Worksheets
      Για κάθε κελί στο WSheet.UsedRange
        Αν Cell.Font.Bold = True Τότε Cnt = Cnt + 1
      Επόμενο κελί
    Επόμενο WSheet
  Επόμενο WBook
  MsgBox Cnt & "Βρέθηκαν έντονα κελιά"
End Sub

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Στο Excel, είναι κρίσιμο να κατανοήσουμε τη διαφορά μεταξύ αναφορών και πινάκων εργαλείων για την αποτελεσματική ανάλυση και οπτικοποίηση δεδομένων.

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

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

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

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

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

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

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

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

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

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.