Πίνακας περιεχομένων
Εφαρμογή του Μακροεντολή VBA είναι η πιο αποτελεσματική, γρήγορη και ασφαλής μέθοδος για να εκτελέσετε οποιαδήποτε λειτουργία στο Excel. Σε αυτό το άρθρο, θα σας δείξουμε πώς να ταξινόμηση του πίνακα στο Excel με VBA .
Λήψη βιβλίου εργασίας
Μπορείτε να κατεβάσετε το δωρεάν βιβλίο ασκήσεων Excel από εδώ.
Ταξινόμηση πίνακα με VBA.xlsm
Πράγματα που πρέπει να γνωρίζετε πριν από την εφαρμογή της VBA για την ταξινόμηση πίνακα στο Excel
Υπάρχουν ορισμένες παράμετροι που πρέπει να χρησιμοποιείτε συχνά κατά την εργασία με το Ταξινόμηση μέθοδος της VBA . Έτσι, εδώ θα συζητήσουμε μερικές από τις παραμέτρους για να σας εξοικειώσουμε ενώ γράφετε τον κώδικα.
Παράμετρος | Υποχρεωτικό/ Προαιρετικό | Τύπος δεδομένων | Περιγραφή |
---|---|---|---|
Βασικό | Προαιρετικό | Παραλλαγή | Καθορίζει την περιοχή ή τη στήλη της οποίας οι τιμές πρέπει να ταξινομηθούν. |
Παραγγελία | Προαιρετικό | XlSortOrder | Καθορίζει τη σειρά με την οποία θα πραγματοποιηθεί η ταξινόμηση.
|
Κεφαλίδα | Προαιρετικό | XlYesNoGuess | Καθορίζει εάν η πρώτη γραμμή περιέχει επικεφαλίδες ή όχι.
|
4 Μέθοδοι εφαρμογής της VBA για την ταξινόμηση πίνακα στο Excel
Αυτή η ενότητα θα σας δείξει πώς να ταξινόμηση πινάκων του Excel λαμβάνοντας υπόψη αξία, χρώματα, εικονίδια και πολλαπλές στήλες με VBA κωδικός.
1. Ενσωματώστε το VBA για να ταξινομήσετε τον πίνακα με βάση την τιμή στο Excel
Θεωρώντας το ακόλουθο παράδειγμα θα ταξινομήστε αυτόν τον πίνακα με βάση τις τιμές παρόντες στο Mark με φθίνουσα σειρά.
Βήματα:
- Τύπος Alt + F11 στο πληκτρολόγιό σας ή πηγαίνετε στην καρτέλα Προγραμματιστής -> Visual Basic για να ανοίξετε Visual Basic Editor .
- Στο αναδυόμενο παράθυρο κώδικα, από τη γραμμή μενού, κάντε κλικ στην επιλογή Εισαγωγή -> Ενότητα .
- Αντιγράψτε τον παρακάτω κώδικα και επικολλήστε τον στο παράθυρο κώδικα.
Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
Ορίστε,
- SortTBL → Καθορίσατε το όνομα του πίνακα.
- SortTBL[Marks] -> Καθορίστηκε το όνομα της στήλης του πίνακα για ταξινόμηση.
- Key1:=iColumn → Καθορίστε το εύρος των στηλών για να γνωρίζει ο κώδικας ποια στήλη του πίνακα θα ταξινομηθεί.
- Order1:=xlDescending → Καθορίστηκε η σειρά ως xlDescending για να ταξινομήσετε τη στήλη με φθίνουσα σειρά. Αν θέλετε να ταξινομήσετε τη στήλη με αύξουσα σειρά, τότε γράψτε xlAscending αντί.
- Επικεφαλίδα:= xlYes → Καθώς η στήλη σε αυτόν τον πίνακα έχει μια επικεφαλίδα, έτσι την καθορίσαμε με το xlΝαι επιλογή.
- Τύπος F5 στο πληκτρολόγιό σας ή από τη γραμμή μενού επιλέξτε Εκτέλεση -> Εκτέλεση Sub/UserForm Μπορείτε επίσης να κάνετε κλικ στο μικρό εικονίδιο Play στη γραμμή υπομενού για να εκτελέσετε τη μακροεντολή.
Θα δείτε ότι η στήλη στον πίνακα σας είναι τώρα ταξινομημένα κατά φθίνουσα σειρά .
Διαβάστε περισσότερα: Πώς να ταξινομήσετε δεδομένα με βάση την τιμή στο Excel (5 εύκολες μέθοδοι)
2. Εισαγωγή μακροεντολής VBA για την ταξινόμηση πίνακα για πολλαπλές στήλες
Μπορείτε επίσης να ταξινόμηση ενός πίνακα για πολλαπλές στήλες στο Excel με VBA macro.
Από τον παραπάνω πίνακα, θα ταξινομήσουμε τις στήλες Όνομα και Τμήμα με αύξουσα σειρά.
Βήματα:
- Με τον ίδιο τρόπο όπως και πριν, ανοίξτε Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
- Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Department]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
Ορίστε,
- TableValue → Καθορίσατε το όνομα του πίνακα.
- TableValue[Όνομα] -> Καθορίστηκε το όνομα της πρώτης στήλης του πίνακα για ταξινόμηση.
- TableValue[Τμήμα] -> Καθορίστηκε το όνομα της δεύτερης στήλης του πίνακα για ταξινόμηση.
- Key1:=iColumn1 → Καθορίσατε το εύρος των στηλών για να γνωρίζει ο κώδικας ότι η πρώτη στήλη του πίνακα πρέπει να ταξινομηθεί.
- Key1:=iColumn2 → Καθορίσατε το εύρος των στηλών για να γνωρίζει ο κώδικας ότι η δεύτερη στήλη του πίνακα πρέπει να ταξινομηθεί.
- Order1:=xlAscending → Καθορίστηκε η σειρά ως xlAscending για να ταξινομήσετε τη στήλη με φθίνουσα σειρά. Αν θέλετε να ταξινομήσετε τη στήλη με φθίνουσα σειρά, τότε γράψτε xlDescending αντί.
- Επικεφαλίδα:= xlYes → Καθώς οι στήλες αυτού του πίνακα έχουν επικεφαλίδες, το προσδιορίσαμε με το xlΝαι επιλογή.
- Εκτέλεση αυτόν τον κωδικό και θα λάβετε και τα δύο στήλες του πίνακα ταξινομημένες με αύξουσα σειρά.
Διαβάστε περισσότερα: Πώς να ταξινομήσετε αυτόματα πολλαπλές στήλες στο Excel (3 τρόποι)
Παρόμοιες αναγνώσεις
- Πώς να ταξινομήσετε μοναδική λίστα στο Excel (10 χρήσιμες μέθοδοι)
- Ταξινόμηση συστοιχίας με το Excel VBA (αύξουσα και φθίνουσα σειρά)
- Πώς να ταξινομήσετε και να φιλτράρετε δεδομένα στο Excel (μια πλήρης κατευθυντήρια γραμμή)
- Αυτόματη ταξινόμηση του Excel όταν αλλάζουν τα δεδομένα (9 παραδείγματα)
- Τυχαία ταξινόμηση στο Excel (τύποι + VBA)
3. Εφαρμογή μακροεντολής για την ταξινόμηση πίνακα με βάση το χρώμα κελιών στο Excel
Μπορείτε επίσης να ταξινόμηση ενός πίνακα σύμφωνα με το χρώμα του κελιού που περιέχει.
Με παράδειγμα τον παραπάνω πίνακα, θα σας δείξουμε πώς να τον ταξινομήσετε με βάση τα χρώματα που περιέχει ο πίνακας.
Βήματα:
- Όπως έχει αποδειχθεί προηγουμένως, η ανοικτή Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
- Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn,Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header = xlYes .Apply End With End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
Εδώ η RGB κωδικούς που παρέχουμε, μπορείτε να το βρείτε ή οποιοδήποτε άλλο RGB τον κωδικό που θέλετε ακολουθώντας το gif που δίνεται παρακάτω.
- Απλά κάντε κλικ στο χρωματιστό κελί .
- Στο Αρχική σελίδα κάντε κλικ στην καρτέλα βέλος δίπλα από το Χρώμα γεμίσματος και στη συνέχεια επιλέξτε Περισσότερα χρώματα . Θα δείτε το RGB κωδικούς στο Προσαρμοσμένο της καρτέλας appeared Χρώματα αναδυόμενο παράθυρο.
- Εκτέλεση αυτόν τον κώδικα και ο πίνακάς σας θα είναι ταξινομημένα με βάση τα χρώματα .
Διαβάστε περισσότερα: Πώς να ταξινομήσετε με βάση το χρώμα στο Excel (4 κριτήρια)
4. Εφαρμογή της VBA για την ταξινόμηση πίνακα του Excel με βάση το εικονίδιο
Ας υποθέσουμε ότι ο πίνακας του συνόλου δεδομένων έχει εικονίδια για καλύτερη αναγνωσιμότητα. Μπορείτε να ταξινομήσετε τα πίνακα με βάση τα εικονίδια στο Excel με VBA macro.
Κοιτάξτε το παραπάνω σύνολο δεδομένων. Εδώ ο πίνακας έχει εικονίδια δίπλα στις τιμές των αριθμών στο Μαρκς ώστε να μπορούμε να καταλάβουμε ποιος μαθητής έχει καλά, κακά ή μέτρια αποτελέσματα.
Σημειώστε ότι, αν δεν ξέρετε πώς μπορείτε να εισάγετε ένα εικονίδιο μέσα σε ένα κελί, μπορείτε απλά να το κάνετε με την εντολή Μορφοποίηση υπό όρους στο Excel.
- Επιλέξτε ολόκληρη την περιοχή ή τη στήλη.
- Πηγαίνετε στο Μορφοποίηση υπό όρους -> Σύνολα εικονιδίων . Στη συνέχεια, επιλέξτε όποια σύνολα εικονιδίων θέλετε από την επιλογή.
Βήματα για να ταξινόμηση ενός πίνακα με βάση τα εικονίδια δίνονται παρακάτω.
Βήματα:
- Ανοίξτε το Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
- Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(1) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2) .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3) .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
Ορίστε,
- xl5Βέλη -> Διαλέξαμε το σετ 5 βελών από την επιλογή στο Μορφοποίηση υπό όρους .
- Στοιχείο (1) -> Καθορίστηκε η πρώτη τύπος εικονιδίου βέλους.
- Στοιχείο (2) -> Καθορίστηκε το δεύτερο τύπος εικονιδίου βέλους.
- Στοιχείο (3) -> Καθορίστηκε το τρίτο τύπος εικονιδίου βέλους.
- Στοιχείο (4) -> Καθορίστηκε το τέταρτο τύπος εικονιδίου βέλους.
- Στοιχείο (5) -> Καθορίστηκε το πέμπτο τύπος εικονιδίου βέλους.
- Εκτέλεση αυτόν τον κώδικα και ο πίνακας θα είναι ταξινομημένα με βάση τα εικονίδια .
Διαβάστε περισσότερα: Πώς να ταξινομήσετε αυτόματα τον πίνακα στο Excel (5 μέθοδοι)
Συμπέρασμα
Αυτό το άρθρο σας έδειξε πώς να ταξινόμηση του πίνακα στο Excel VBA Ελπίζω αυτό το άρθρο να σας ήταν πολύ χρήσιμο. Μη διστάσετε να ρωτήσετε αν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το θέμα.