Πώς να ταξινομήσετε φύλλα εργασίας στο Excel χρησιμοποιώντας VBA (αλφαβητικά)

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

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

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

Ενώ δεν υπάρχει ενσωματωμένος τρόπος λειτουργίας για να το κάνετε αυτό, μπορεί να γίνει (εύκολα) χρησιμοποιώντας VBA.

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

Μπορείτε να τροποποιήσετε τον κώδικα για να ταξινομήσετε τα φύλλα εργασίας με αύξουσα ή φθίνουσα σειρά.

Κωδικός VBA σε Ταξινόμηση φύλλων εργασίας στο Excel

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

Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer ShCount = Sheets. Count for i = 1 To ShCount - 1 For j = i + 1 To ShCount If UCase (Sheets (j) Όνομα) <UCase (Φύλλα (i). Όνομα) Στη συνέχεια Φύλλα (j). Μετακίνηση πριν: = Φύλλα (i) Τέλος αν Επόμενο j Επόμενο i Application.ScreenUpdating = True End Sub

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

Συγκρίνει το όνομα ενός φύλλου εργασίας με όλα τα φύλλα εργασίας και το μετακινεί με βάση το όνομά του με αλφαβητική σειρά.

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

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

Μερικά σημαντικά πράγματα που πρέπει να γνωρίζετε για αυτόν τον κώδικα:

  1. Η συνάρτηση UCase χρησιμοποιείται για να βεβαιωθείτε ότι τα πεζά και τα κεφαλαία δεν αντιμετωπίζονται διαφορετικά.
  2. Η τιμή του Application.ScreenUpdating ορίζεται σε False στην αρχή του κώδικα και αλλάζει σε True στο τέλος του κώδικα. Αυτό διασφαλίζει ότι ενώ εκτελείται ο κώδικας, δεν βλέπετε να συμβαίνει στην οθόνη. Αυτό βοηθά επίσης στην επιτάχυνση της εκτέλεσης του κώδικα.

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

Ο παρακάτω κώδικας θα ταξινομήσει τα φύλλα εργασίας κατά φθίνουσα σειρά:

'Αυτός ο κώδικας θα ταξινομήσει τα φύλλα εργασίας αλφαβητικά Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer ShCount = Sheets. Count For i = 1 To ShCount - 1 For j = i + 1 To ShCount Εάν UCase (Φύλλα (j). Όνομα)> UCase (Φύλλα (i). Όνομα) Στη συνέχεια Φύλλα (j). Μετακινήστε πριν: = Φύλλα (i) Τέλος αν Επόμενο j Επόμενο i Application.ScreenUpdating = True End Sub

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

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

Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer Dim SortOrder As VbMsgBoxResult SortOrder = MsgBox ("Επιλέξτε Ναι για αύξουσα σειρά και Όχι για φθίνουσα σειρά", vbYesCountCoCel = i = 1 σε ShCount - 1 Για j = i + 1 σε ShCount If SortOrder = vbΝαι Τότε If UCase (Φύλλα (j). Όνομα) UCase (Φύλλα (i). Όνομα) Στη συνέχεια Φύλλα (j). Μετακίνηση πριν: = Φύλλα (i) Τέλος Αν Τερματισμός Αν Επόμενο j Επόμενο i Application.ScreenUpdating = True End Sub

Ο παραπάνω κώδικας όταν εκτελείται εμφανίζει ένα μήνυμα όπως φαίνεται παρακάτω. Ταξινομεί με βάση την επιλογή (Ναι για Αύξουσα και Όχι για Φθίνουσα).

Σε περίπτωση που κάνετε κλικ στην επιλογή Ακύρωση, ο κωδικός σταματά και δεν συμβαίνει τίποτα.

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

Μια λέξη προφύλαξης: Ο παραπάνω κώδικας λειτουργεί στις περισσότερες περιπτώσεις. Ένας τομέας όπου θα σας δώσει το λάθος αποτέλεσμα είναι όταν έχετε ονόματα καρτελών όπως Q12021-2022, Q22021-2022, Q12021-2022, Q22021-2022. Στην ιδανική περίπτωση, θα θέλατε όλες οι καρτέλες για τα ίδια χρόνια να είναι μαζί, αλλά δεν θα γίνει καθώς το Q12021-2022 θα τοποθετηθεί πριν από το Q22021-2022.

Πού να τοποθετήσετε τον κωδικό VBA

Το Excel έχει ένα backend VBA που ονομάζεται VBA editor.

Πρέπει να αντιγράψετε και να επικολλήσετε τον κώδικα VBA στο παράθυρο κωδικού λειτουργικής μονάδας VB Editor.

Ακολουθούν τα βήματα για να το κάνετε αυτό:

  1. Κάντε κλικ στην καρτέλα "Προγραμματιστής". (Δεν μπορείτε να δείτε την καρτέλα προγραμματιστή; Κάντε κλικ εδώ για να μάθετε πώς να το αποκτήσετε).
  2. Κάντε κλικ στην επιλογή Visual Basic. Αυτό θα ανοίξει τον επεξεργαστή VB στο backend.
  3. Στο παράθυρο Project Explorer στο VB Editor, κάντε δεξί κλικ σε οποιοδήποτε αντικείμενο για το βιβλίο εργασίας στο οποίο θέλετε να εισαγάγετε τον κώδικα. (Αν δεν βλέπετε το Project Explorer μεταβείτε στην καρτέλα "Προβολή" και κάντε κλικ στο "Project Explorer".)
  4. Μεταβείτε στην επιλογή Εισαγωγή και κάντε κλικ στην ενότητα. Αυτό θα εισαγάγει ένα αντικείμενο ενότητας για το βιβλίο εργασίας σας.
  5. Αντιγράψτε και επικολλήστε τον κώδικα στο παράθυρο της λειτουργικής μονάδας.

Πώς να εκτελέσετε τον κώδικα VBA

Στο Excel, υπάρχουν διάφοροι τρόποι εκτέλεσης του κώδικα VBA.

Μπορείτε να εκτελέσετε τον κώδικα απευθείας από το Visual Basic Editor (που ονομάζεται επίσης VB Editor).

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

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

Μπορείτε να διαβάσετε τα πάντα για την εκτέλεση της μακροεντολής εδώ - Πώς να εκτελέσετε μια μακροεντολή στο Excel (ή δείτε το παρακάτω βίντεο).
Μπορεί επίσης να σας αρέσουν τα ακόλουθα μαθήματα Excel/VBA:

  • Πώς να ταξινομήσετε δεδομένα στο Excel χρησιμοποιώντας VBA.
  • Αυτόματη ταξινόμηση δεδομένων με αλφαβητική σειρά χρησιμοποιώντας τον τύπο.
  • Πώς να κάνετε ταξινόμηση δεδομένων πολλαπλού επιπέδου στο Excel.
  • Εισαγωγή στις επιλογές ταξινόμησης δεδομένων Excel.
  • Αυτόματο φίλτρο Excel VBA: Ένας πλήρης οδηγός με παραδείγματα
  • Πώς να ομαδοποιήσετε φύλλα εργασίας στο Excel
  • Πώς να αναστρέψετε τα δεδομένα στο Excel
wave wave wave wave wave