VBA om kolom in Excel te sorteer (4 metodes)

  • Deel Dit
Hugh West

Om in Excel te sorteer met VBA , moet jy die Range.Sort -metode toepas. In hierdie artikel sal ons jou wys hoe om die kolom in Excel te sorteer met die Range.Sort -metode van VBA .

Laai Werkboek af

Jy kan die gratis oefen Excel-werkboek van hier af aflaai.

Sorteer Kolom met VBA.xlsm

Range.Sort Method in Excel VBA

Range.Sort metode in VBA sorteer 'n reeks waardes in Excel. Hier is Reikwydte 'n objekveranderlike wat die reeks selle spesifiseer wat ons in stygende of dalende volgorde wil sorteer.

Hieronder is die parameters wat jy moet weet omtrent terwyl jy met hierdie metode werk.

Parameter Vereis/ Opsioneel Datatipe Beskrywing
Sleutel Opsioneel Variant Spesifiseer die reeks of die kolom waarvan die waardes gesorteer moet word.
Bestelling Opsioneel XlSortorder Spesifiseer die volgorde waarin die sortering uitgevoer sal word.
  • xlAscending = Om in stygende volgorde te sorteer.
  • xlDescending = Om in dalende volgorde te sorteer.
Opskrif Opsioneel XlYesNoGuess Spesifiseer of die eerste ry opskrifte bevat of nie .
  • xlNo = Wanneer die kolom geen opskrifte het nie; Verstekwaarde.
  • xlJa = Wanneerdie kolomme het opskrifte.
  • xlGuess = Om Excel die opskrifte te laat bepaal.

4 Metodes in die implementering van VBA om kolomme in Excel te sorteer

In hierdie afdeling sal jy weet hoe om 'n enkele kolom met en sonder 'n kop , veelvuldige kolomme te sorteer met en sonder opskrifte en hoe om te sorteer net deur op die kopskrif in 'n kolom in Excel te dubbelklik.

1. Sluit VBA in om 'n enkele kolom sonder kop in Excel te sorteer

As jy 'n enkele kolom in jou Excel-werkblad wil sorteer met VBA -kode, volg dan die stappe hieronder.

Dit is ons kolom wat ons sal sorteer met VBA -kode.

Stappe:

  • Druk Alt + F11 op jou sleutelbord of gaan na die oortjie Ontwikkelaar -> Visual Basic om Visual Basic Editor oop te maak.

  • In die opspringkodevenster, vanaf die kieslysbalk , klik Voeg in -> Module .

  • Kopieer die volgende kode en plak dit in die kodevenster.
6401

Jou kode is nou gereed om te loop.

Hier,

  • Key1:=Range(“B5”) → Gespesifiseerde B5 om die kode te laat weet watter kolom om te sorteer.
  • Orde1:=xlAscending → Spesifiseer die volgorde as xlAscending om die kolom in stygende volgorde te sorteer. As jy die kolom in dalende volgorde wil sorteer, skryf dan eerder xlAflopend .
  • Opskrif:= xlNo →Aangesien ons kolom geen opskrif het nie, daarom het ons dit gespesifiseer met die xlNo -opsie.

  • Druk F5 op jou sleutelbord of van die kieslysbalk kies Run -> Begin Sub/UserForm . Jy kan ook net op die klein Speel-ikoon in die subkieslysbalk klik om die makro te laat loop.

Jy sal sien dat jou kolom is nou in stygende volgorde gesorteer.

Let op dat ons hier die datareeks handmatig gedefinieer het as Range(“B5:B15” ) .

As jy data wil verander deur waardes by te voeg of uit te vee, kan jy die volgende kode implementeer wat outomaties opdateer op grond van die selle in die datastel.

8145

Let op dat eerder om reeks handmatig te definieer deur Range(“B5:B15”) , het ons geskryf, Range( “B5”, Range(“B5”). End(xlDown)) .

Dit sal die kolom sorteer op grond van die laaste opeenvolgende gevulde sel daarin. As daar leë selle is, sal die data slegs oorweeg word tot en met die eerste leë sel.

Lees Meer: VBA om tabel in Excel te sorteer (4 metodes)

2. Voeg VBA-makro in om 'n enkele kolom met kopskrif te sorteer

In die vorige afdeling het ons 'n datastel van 'n enkele kolom sonder kopskrif gehad, maar nou het ons a kolom met 'n kopskrif .

Hierdie keer sal ons leer hoe om dit met VBA-makro te sorteer.

Stappe:

  • Op dieselfde manier as voorheen, maak Visual Basic Editor oopvan die Ontwikkelaar -oortjie en Voeg 'n Module in die kodevenster in.
  • Kopieer die volgende kode in die kodevenster en plak dit.
8076

Jou kode is nou gereed om te loop.

Hier,

  • Key1:=Range(“ B5”) → Gespesifiseer B5 om die kode te laat weet watter kolom om te sorteer.
  • Orde1:=xlAflopend → Hierdie keer sal ons die kolom sorteer in dalende volgorde het die volgorde dus gespesifiseer as xlAflopend .
  • Opskrif:= xlJa → Aangesien ons kolom hierdie keer 'n kop het, so het ons dit gespesifiseer met die xlJa opsie.

  • Hardloop hierdie kode en jy sal die kolom kry met kopskrif wat in dalende volgorde gesorteer is .

Lees meer: Hoe om lysboks met VBA in Excel te sorteer ('n volledige gids)

Soortgelyke lesings:

  • Hoe om IP-adres in Excel te sorteer (6 metodes)
  • [Opgelos!] Excel-sortering werk nie (2 oplossings)
  • Hoe om sorteerknoppie in Excel by te voeg (7 metodes)
  • Sorteer Rang e Gebruik VBA in Excel (6 voorbeelde)
  • Hoe om volgens naam in Excel te sorteer (3 voorbeelde)

3. VBA-makro om veelvuldige kolomme met of sonder opskrif te sorteer

Jy kan ook veelvuldige kolomme in jou datastel met VBA-kode sorteer.

Stappe:

  • Soos voorheen getoon, maak Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • In die kodevenster, kopieer die volgende kode en plak dit.
5536

Jou kode is nou gereed om te loop.

Hier,

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

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

Deur hierdie twee reëls definieer ons Sel B4 en C4 om die twee kolomme wat geassosieer word met hulle in stygende volgorde .

Aangesien ons opskrifte in ons datastel het, het ons Opskrif = xlJa gespesifiseer, anders sou ons Opskrif = geskryf het xlNo binne die kode.

  • Hardloop hierdie kode en jy sal die kolomme met kopskrif in stygende volgorde gesorteer kry .

4. Makro om data te sorteer deur op kop in Excel te dubbelklik

As jy die data met gemak wil sorteer net deur te dubbelklik op die kop , kan jy dit doen met VBA kode.

Stappe:

  • Regskliek op die bladoortjie .
  • Uit die opsielys wat verskyn het, klik Bekyk kode .
  • Die kodevenster sal verskyn, kopieer die volgende kode en plak dit daar in.
6191
  • Stoor die kode.

  • Gaan nou terug na die werkblad van belang en as jy dubbelklik op die opskrifte jy sal sien die kolomme herorganiseer.

Lees meer: ​​Hoe om data in te sorteer en te filtreer Excel ('n Volledige riglyn)

Dinge om te onthou

  • Jy kan 'n benoemde reeks skep en dit eerder gebruik wanneer jy 'n reeks selverwysings binne die deurgee Sorteer metode. As jy byvoorbeeld reeks A1:A10 wil sorteer, in plaas daarvan om dit elke keer binne die kode deur te gee, kan jy 'n benoemde reeks daarvan skep, soos " SortReik ” en gebruik dit met die Range.Sort -metode soos Range(“SortRange”) .
  • As jy nie seker is of jou datastel opskrifte het nie of nie, jy kan die stelsel dit laat bepaal deur die xlGuess parameter te gebruik.

Gevolgtrekking

Hierdie artikel het jou gewys hoe om sorteer die kolom in Excel VBA . Ek hoop hierdie artikel was baie voordelig vir jou. Vra gerus as jy enige vrae het oor die onderwerp.

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.