Εύρος ταξινόμησης VBA | Πώς να ταξινομήσετε το εύρος στο Excel VBA;

Εύρος ταξινόμησης Excel VBA

Η ταξινόμηση ενός εύρους στο VBA γίνεται με τη μέθοδο range.sort, είναι μια ιδιότητα της μεθόδου εύρους με την οποία ένας χρήστης μπορεί να ταξινομήσει ένα εύρος με σειρά, τα ορίσματα για αυτήν τη συνάρτηση είναι τα Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, όλα τα ορίσματα για αυτήν τη συνάρτηση είναι προαιρετικά.

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

Με το excel όλοι γνωρίζουμε την επιλογή του είδους που είναι διαθέσιμο στην καρτέλα DATA.

Επιλογή ταξινόμησης σε VBA

Για να χρησιμοποιήσετε την επιλογή ταξινόμησης, πρώτα πρέπει να αποφασίσουμε ποιο είναι το εύρος δεδομένων μας και να αναφέρουμε το ίδιο εύρος δεδομένων χρησιμοποιώντας το αντικείμενο RANGE στο VBA, τότε μόνο μπορούμε να έχουμε πρόσβαση στην επιλογή "Ταξινόμηση" στο VBA. Για παράδειγμα, ας υποθέσουμε ότι το εύρος δεδομένων μου είναι από A1 έως D10, τότε μπορούμε να παρέχουμε το εύρος δεδομένων ως εξής.

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: D10") End Sub 

Τώρα βάλτε μια κουκκίδα και επιλέξτε τη μέθοδο "SORT".

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: D10"). Ταξινόμηση End Sub 

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

[Key1]: Στο εύρος δεδομένων που ταξινομούμε πρέπει να καθορίσουμε ποια στήλη πρέπει να ταξινομήσουμε. Για παράδειγμα, στο εύρος δεδομένων του A1: D10 εάν θέλουμε να ταξινομήσουμε τα δεδομένα με βάση τη στήλη B, τότε το [Key1] θα είναι Range ("B1") .

[Order1]: Η στήλη που αναφέρεται στο όρισμα [Key1] πρέπει να είναι ταξινομημένη με ποια σειρά. Μπορούμε να επιλέξουμε δύο επιλογές εδώ "xlAscending" ή "xlDescending".

Header: Το αναφερόμενο εύρος δεδομένων έχει κεφαλίδες ή όχι, αν ναι μπορούμε να παρέχουμε "xlYes" ή αλλιώς μπορούμε να παρέχουμε "xlNo".

Παράδειγμα εύρους ταξινόμησης στο VBA

Ας πάρουμε το παράδειγμα της σειράς VBA excel για να το κατανοήσουμε καλύτερα.

Μπορείτε να πραγματοποιήσετε λήψη αυτού του προτύπου VBA Sort Range Excel εδώ - Πρότυπο VBA Sort Range Excel

Για παράδειγμα, δείτε την παρακάτω δομή δεδομένων.

Έχουμε δεδομένα από το Α1 έως το Ε17, οπότε πρώτα θα ταξινομήσουμε τα δεδομένα με βάση το "Country-biy". Ακολουθήστε τα παρακάτω βήματα για να γράψετε τον κώδικα για να ταξινομήσετε τα δεδομένα.

Βήμα 1: Ξεκινήστε τη διαδικασία μακροεντολής excel.

Κώδικας:

 Sub Sort_Range_Example () End Sub 

Βήμα 2: Πρώτα αναφέρετε το εύρος δεδομένων χρησιμοποιώντας το αντικείμενο RANGE .

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17") End Sub 

Βήμα 3: Τώρα επιλέξτε τη μέθοδο « Ταξινόμηση » του αντικειμένου Range.

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Ταξινόμηση End Sub 

Βήμα 4: Δεδομένου ότι ταξινομούμε τα δεδομένα με βάση το «Country-bijly», η στήλη ορίσματος Key 1 θα είναι Range («B1»).

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), End Sub 

Βήμα 5: Μόλις αναφερθεί η απαιτούμενη στήλη, πρέπει να αναφέρουμε με ποια σειρά πρέπει να ταξινομήσουμε τα δεδομένα και το "Order1" θα είναι "xlAscending" .

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlΑύξηση, End Sub 

Βήμα 6: Τα δεδομένα μας έχουν κεφαλίδες, οπότε η κεφαλίδα θα είναι "xlYes".

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlΑύξηση, Κεφαλίδα: = xl Ναι End Sub 

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

Παραγωγή:

Τα δεδομένα ταξινομήθηκαν με βάση τα ονόματα Χώρα με τη σειρά Α έως Ω.

Τώρα ας υποθέσουμε ότι πρέπει να ταξινομήσουμε τα δεδομένα με βάση τη χώρα και επίσης πρέπει να ταξινομήσουμε τις " Ακαθάριστες πωλήσεις " από το υψηλότερο στο χαμηλότερο. Σε τέτοιες περιπτώσεις, πρέπει επίσης να χρησιμοποιήσουμε τα επιχειρήματα Key2 και Order2.

Αφού αναφέρω το Key1 & Order1, ας επιλέξουμε το Key2.

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = End Sub 

Δεδομένου ότι ταξινομούμε τα δεδομένα με βάση τη στήλη " Ακαθάριστες πωλήσεις ", το όνομα της στήλης Key2 θα είναι εύρος ("D1").

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), End Sub 

Μόλις καθοριστεί το Key2, πρέπει να αποφασίσουμε σχετικά με το αν είναι αύξουσα σειρά ή φθίνουσα σειρά στο όρισμα Order2, αφού ταξινομούμε την τιμή πώλησης από το μεγαλύτερο στο μικρότερο, μπορούμε να επιλέξουμε την παραγγελία «xlDescending».

Κώδικας:

 Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), Order2: = xlDendingending, Header: = xlYes End Sub 

Μετά από αυτό αναφέρετε το όρισμα Header ως "xlYes" Τώρα εκτελέστε τον κώδικα και δείτε τι συμβαίνει.

Παραγωγή:

Προηγουμένως ταξινόμησε με βάση μόνο το «Country-σοφός», αλλά αυτή τη φορά ταξινομήθηκε με βάση το «Country-biy» πρώτα και μετά επίσης στο «Ακαθάριστες πωλήσεις» από το υψηλότερο στο χαμηλότερο.

Έτσι, μπορούμε να χρησιμοποιήσουμε τη μέθοδο " Ταξινόμηση " στο VBA για να οργανώσουμε τα δεδομένα.

Πράγματα που πρέπει να θυμάστε για το Excel VBA Sort Range

  • Η ταξινόμηση είναι μια μέθοδος διαθέσιμη στο VBA και για να αποκτήσουμε πρόσβαση σε αυτήν τη μέθοδο πρέπει να καθορίσουμε ποιο εύρος κελιών θα ταξινομήσουμε.
  • Εάν το εύρος δεδομένων περιλαμβάνει κεφαλίδες, τότε πρέπει να ορίσουμε την επιλογή κεφαλίδας ως "xlYes", αν όχι μπορούμε να επιλέξουμε "xlNo".

$config[zx-auto] not found$config[zx-overlay] not found