VBA για την ταξινόμηση στήλης στο Excel (4 μέθοδοι)

  • Μοιραστείτε Αυτό
Hugh West

Για να ταξινομήσετε στο Excel με VBA , πρέπει να εφαρμόσετε το Εύρος.Ταξινόμηση Σε αυτό το άρθρο, θα σας δείξουμε πώς να ταξινόμηση της στήλης στο Excel με το Εύρος.Ταξινόμηση μέθοδος της VBA .

Λήψη βιβλίου εργασίας

Μπορείτε να κατεβάσετε το δωρεάν βιβλίο ασκήσεων Excel από εδώ.

Ταξινόμηση στήλης με VBA.xlsm

Μέθοδος Range.Sort στο Excel VBA

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

Ακολουθούν οι παράμετροι που πρέπει να γνωρίζετε όταν εργάζεστε με αυτή τη μέθοδο.

Παράμετρος Υποχρεωτικό/ Προαιρετικό Τύπος δεδομένων Περιγραφή
Βασικό Προαιρετικό Παραλλαγή Καθορίζει την περιοχή ή τη στήλη της οποίας οι τιμές πρέπει να ταξινομηθούν.
Παραγγελία Προαιρετικό XlSortOrder Καθορίζει τη σειρά με την οποία θα εκτελεστεί η ταξινόμηση.
  • xlAscending = Ταξινόμηση σε αύξουσα σειρά.
  • xlDescending = Ταξινόμηση σε φθίνουσα σειρά.
Κεφαλίδα Προαιρετικό XlYesNoGuess Καθορίζει εάν η πρώτη γραμμή περιέχει επικεφαλίδες ή όχι.
  • xlΌχι = Όταν η στήλη δεν έχει επικεφαλίδες; Προεπιλεγμένη τιμή.
  • xlΝαι = Όταν οι στήλες έχουν επικεφαλίδες.
  • xlGuess = Για να αφήσετε το Excel να καθορίσει τις επικεφαλίδες.

4 Μέθοδοι εφαρμογής της VBA για την ταξινόμηση στήλης στο Excel

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

1. Ενσωματώστε το VBA για να ταξινομήσετε μια μεμονωμένη στήλη χωρίς επικεφαλίδα στο Excel

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

Αυτή είναι η στήλη μας που θα ταξινομήσουμε με VBA κωδικός.

Βήματα:

  • Τύπος Alt + F11 στο πληκτρολόγιό σας ή πηγαίνετε στην καρτέλα Προγραμματιστής -> Visual Basic για να ανοίξετε Visual Basic Editor .

  • Στο αναδυόμενο παράθυρο κώδικα, από τη γραμμή μενού, κάντε κλικ στην επιλογή Εισαγωγή -> Ενότητα .

  • Αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον στο παράθυρο κώδικα.
 Sub SortSingleColumnWithoutHeader() Range("B5:B15").Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

Ορίστε,

  • Key1:=Range("B5") → Καθορισμένο B5 για να γνωρίζει ο κώδικας ποια στήλη πρέπει να ταξινομηθεί.
  • Order1:=xlAscending → Καθορίστηκε η σειρά ως xlAscending για να ταξινομήσετε τη στήλη με αύξουσα σειρά. Αν θέλετε να ταξινομήσετε τη στήλη με φθίνουσα σειρά, τότε γράψτε xlDescending αντί.
  • Επικεφαλίδα:= xlNo → Καθώς η στήλη μας δεν έχει καμία επικεφαλίδα, την καθορίσαμε με το xlΌχι επιλογή.

  • Τύπος F5 στο πληκτρολόγιό σας ή από τη γραμμή μενού επιλέξτε Εκτέλεση -> Εκτέλεση Sub/UserForm Μπορείτε επίσης να κάνετε κλικ στο μικρό εικονίδιο Play στη γραμμή υπομενού για να εκτελέσετε τη μακροεντολή.

Θα δείτε ότι η στήλη σας είναι τώρα ταξινομημένα σε αύξουσα σειρά .

Παρατηρήστε ότι εδώ έχουμε ορίσει το εύρος δεδομένων χειροκίνητα ως Εύρος("B5:B15") .

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

 Sub SortSingleColumnWithoutHeader() Range("B5", Range("B5").End(xlDown)).Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo End Sub 

Παρατηρήστε ότι αντί να ορίζετε το εύρος χειροκίνητα με το Εύρος("B5:B15") , έχουμε γράψει, Εύρος( "B5", Range("B5"). End(xlDown)) .

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

Διαβάστε περισσότερα: VBA για την ταξινόμηση πίνακα στο Excel (4 μέθοδοι)

2. Εισαγωγή μακροεντολής VBA για την ταξινόμηση μιας στήλης με επικεφαλίδα

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

Αυτή τη φορά θα μάθουμε πώς να το ταξινομούμε με Μακροεντολή VBA .

Βήματα:

  • Με τον ίδιο τρόπο όπως και πριν, ανοίξτε Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
  • Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
 Sub SortSingleColumnWithHeader() Range("B5:B16").Sort Key1:=Range("B5"), Order1:=xlDescending, Header:=xlYes End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

Ορίστε,

  • Key1:=Range("B5") → Καθορισμένο B5 για να γνωρίζει ο κώδικας ποια στήλη πρέπει να ταξινομηθεί.
  • Order1:=xlDescending → Αυτή τη φορά θα ταξινομήσουμε τη στήλη σε φθίνουσα σειρά, οπότε καθορίστε τη σειρά ως xlDescending .
  • Επικεφαλίδα:= xlYes → Καθώς η στήλη μας έχει επικεφαλίδα αυτή τη φορά, την καθορίσαμε με το xlΝαι επιλογή.

  • Εκτέλεση αυτόν τον κωδικό και θα λάβετε το στήλη με επικεφαλίδα ταξινομημένη σε φθίνουσα σειρά .

Διαβάστε περισσότερα: Πώς να ταξινομήσετε το ListBox με VBA στο Excel (Πλήρης οδηγός)

Παρόμοιες αναγνώσεις:

  • Πώς να ταξινομήσετε τη διεύθυνση IP στο Excel (6 μέθοδοι)
  • [Λύθηκε!] Η ταξινόμηση του Excel δεν λειτουργεί (2 λύσεις)
  • Πώς να προσθέσετε κουμπί ταξινόμησης στο Excel (7 μέθοδοι)
  • Ταξινόμηση εύρους χρησιμοποιώντας VBA στο Excel (6 παραδείγματα)
  • Πώς να ταξινομήσετε με βάση το όνομα στο Excel (3 παραδείγματα)

3. Μακροεντολή VBA για την ταξινόμηση πολλαπλών στηλών με ή χωρίς επικεφαλίδα

Μπορείτε επίσης να να ταξινομήσετε πολλαπλές στήλες στο σύνολο δεδομένων σας με κώδικα VBA.

Βήματα:

  • Όπως έχει αποδειχθεί προηγουμένως, η ανοικτή Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
  • Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
 Sub SortMultipleColumnsWithHeaders() With ActiveSheet.Sort .SortFields.Add Key:=Range("B4"), Order:=xlAscending .SortFields.Add Key:=Range("C4"), Order:=xlAscending .SetRange Range("B4:D15") .Header = xlYes .Apply End With End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

Ορίστε,

.SortFields.Add Key:=Range("B4"), Order:=xlAscending

.SortFields.Add Key:=Range("C4"), Order:=xlAscending

Με αυτές τις δύο γραμμές, ορίζουμε Κύτταρο B4 και C4 για να ταξινομήσετε το δύο στήλες που συνδέονται με αυτές στο αύξουσα σειρά .

Καθώς έχουμε επικεφαλίδες στο σύνολο δεδομένων μας, έτσι καθορίσαμε Επικεφαλίδα = xlYes , αλλιώς θα είχαμε γράψει Επικεφαλίδα = xlNo μέσα στον κώδικα.

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

4. Μακροεντολή για την ταξινόμηση δεδομένων με διπλό κλικ στην επικεφαλίδα στο Excel

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

Βήματα:

  • Κάντε δεξί κλικ στο στο καρτέλα φύλλου .
  • Από τη λίστα εμφανιζόμενων επιλογών, κάντε κλικ στο Προβολή κωδικού .
  • Θα εμφανιστεί το παράθυρο κώδικα, αντιγράψτε τον παρακάτω κώδικα και επικολλήστε τον εκεί.
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim iRange As Range Dim iCount As Integer iCount = Range("B4:D15").Columns.Count Cancel = False If Target.Row = 4 And Target.Column <= iCount Then Cancel = True Set iRange = Range(Target.Address) Range("B4:D15").Sort Key1:=iRange, Header:=xlYes End If End Sub 
  • Αποθήκευση τον κώδικα.

  • Τώρα επιστρέψτε στο φύλλο εργασίας που σας ενδιαφέρει και αν κάντε διπλό κλικ στις επικεφαλίδες θα δείτε ότι οι στήλες αναδιοργανώνονται.

Διαβάστε περισσότερα: Πώς να ταξινομήσετε και να φιλτράρετε δεδομένα στο Excel (μια πλήρης οδηγία)

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

  • Μπορείτε να δημιουργήσετε μια ονομασμένη περιοχή και να τη χρησιμοποιήσετε αντί γι' αυτό, όταν περνάτε μια περιοχή αναφορών κελιών μέσα στην εντολή Ταξινόμηση Για παράδειγμα, αν θέλετε να ταξινομήσετε την περιοχή A1:A10 , αντί να το περνάτε κάθε φορά μέσα στον κώδικα, μπορείτε να δημιουργήσετε ένα ονομαστικό εύρος του, όπως " SortRange " και χρησιμοποιήστε το με το Εύρος.Ταξινόμηση μέθοδος όπως Range("SortRange") .
  • Αν δεν είστε σίγουροι αν το σύνολο δεδομένων σας έχει επικεφαλίδες ή όχι, μπορείτε να αφήσετε το σύστημα να το προσδιορίσει χρησιμοποιώντας την εντολή xlGuess παράμετρος.

Συμπέρασμα

Αυτό το άρθρο σας έδειξε πώς να ταξινόμηση της στήλης στο Excel VBA Ελπίζω αυτό το άρθρο να σας ήταν πολύ χρήσιμο. Μη διστάσετε να ρωτήσετε αν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το θέμα.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.