VBA za sortiranje stupaca u Excelu (4 metode)

  • Podijeli Ovo
Hugh West

Za sortiranje u Excelu s VBA , trebate primijeniti metodu Range.Sort . U ovom ćemo vam članku pokazati kako razvrstati stupac u Excelu metodom Range.Sort VBA .

Preuzmi radnu knjigu

Ovdje možete preuzeti besplatnu Excel radnu knjigu za vježbanje.

Sortiraj stupac pomoću VBA.xlsm

Metoda Range.Sort u Excelu VBA

Metoda Range.Sort u VBA sortira raspon vrijednosti u Excelu. Ovdje je Raspon varijabla objekta koja određuje raspon ćelija koje želimo razvrstati uzlaznim ili silaznim redoslijedom.

U nastavku su parametri koje trebate znati o tijekom rada s ovom metodom.

Parametar Obavezno/ Izborno Vrsta podataka Opis
Ključ Izborno Varijanta Određuje raspon ili stupac čije vrijednosti treba sortirati.
Order Optional XlSortOrder Određuje redoslijed kojim će se izvršiti sortiranje.
  • xlAscending = Za sortiranje uzlaznim redoslijedom.
  • xlDescending = Za sortiranje prema silaznom redoslijedu.
Zaglavlje Izborno XlYesNoGuess Određuje sadrži li prvi redak zaglavlja ili ne .
  • xlNo = Kada stupac nema zaglavlja; Zadana vrijednost.
  • xlDa = Kadastupci imaju zaglavlja.
  • xlGuess = Da Excel odredi zaglavlja.

4 metode u implementaciji VBA za sortiranje stupaca u Excelu

U ovom odjeljku ćete znati kako razvrstati jedan stupac sa i bez zaglavlja , više stupaca sa i bez zaglavlja i kako razvrstati samo dvostrukim klikom na zaglavlje u stupcu u Excelu.

1. Ugradite VBA za sortiranje jednog stupca bez zaglavlja u Excelu

Ako želite sortirati jedan stupac u svom Excel radnom listu pomoću VBA koda, tada slijedite korake u nastavku.

Ovo je naš stupac koji ćemo sortirati pomoću VBA koda.

Koraci:

  • Pritisnite Alt + F11 na tipkovnici ili idite na karticu Razvojni programer -> Visual Basic za otvaranje Visual Basic Editor .

  • U skočnom prozoru koda, iz trake izbornika , kliknite Umetni -> Modul .

  • Kopirajte sljedeći kod i zalijepite ga u prozor koda.
2576

Vaš kod sada je spreman za pokretanje.

Ovdje,

  • Key1:=Range(“B5”) → Navedeno B5 da bi kod znao koji stupac sortirati.
  • Order1:=xlAscending → Specificirao redoslijed kao xlAscending za sortiranje stupca uzlaznim redoslijedom. Ako želite poredati stupac silaznim redoslijedom, umjesto toga napišite xlDescending .
  • Zaglavlje:= xlNo →Budući da naš stupac nema nikakvo zaglavlje, odredili smo ga s opcijom xlNo .

  • Pritisnite F5 na tipkovnici ili na traci izbornika odaberite Pokreni -> Pokrenite Sub/UserForm . Također možete samo kliknuti na malu ikonu Play u traci podizbornika da biste pokrenuli makro.

Vidjet ćete da vaš stupac je sada razvrstan uzlaznim redoslijedom .

Primijetite da smo ovdje definirali raspon podataka ručno kao Raspon(“B5:B15” ) .

Ako želite promijeniti podatke dodavanjem ili brisanjem vrijednosti, možete implementirati sljedeći kod koji se automatski ažurira na temelju ćelija u skupu podataka.

5634

Primijetite da umjesto definiranja raspona ručno pomoću Raspon(“B5:B15”) , napisali smo, Raspon( “B5”, Raspon(“B5”). End(xlDown)) .

Ovo će sortirati stupac na temelju zadnje uzastopno ispunjene ćelije u njemu. Ako postoje prazne ćelije, podaci će se uzeti u obzir samo do prve prazne ćelije.

Pročitajte više: VBA za sortiranje tablice u Excelu (4 metode)

2. Umetnite VBA makronaredbu za sortiranje jednog stupca sa zaglavljem

U prethodnom odjeljku imali smo skup podataka jednog stupca bez zaglavlja, ali sada imamo a stupac sa zaglavljem .

Ovaj put ćemo naučiti kako to sortirati pomoću VBA makronaredbe .

Koraci:

  • Na isti način kao prije, otvorite Visual Basic Editor s kartice Razvojni programer i Umetnite Modul u prozor koda.
  • U prozor koda kopirajte sljedeći kod i zalijepite ga.
6525

Vaš kod je sada spreman za izvođenje.

Ovdje,

  • Key1:=Range(“ B5”) → Navedeno B5 kako bi kod znao koji stupac treba sortirati.
  • Order1:=xlDescending → Ovaj put ćemo sortirati stupac u silazni redoslijed pa je specificirao redoslijed kao xlDescending .
  • Zaglavlje:= xlDa → Kako naš stupac ovaj put ima zaglavlje pa smo ga odredili s xlDa opcija.

  • Pokrenite ovaj kod i dobit ćete stupac sa zaglavljem poredanim silaznim redoslijedom .

Pročitajte više: Kako sortirati ListBox pomoću VBA u Excelu (potpuni vodič)

Slična čitanja:

  • Kako sortirati IP adresu u Excelu (6 metoda)
  • [Riješeno!] Sortiranje u Excelu ne radi (2 rješenja)
  • Kako dodati gumb za sortiranje u Excelu (7 metoda)
  • Raspon sortiranja e Korištenje VBA u Excelu (6 primjera)
  • Kako sortirati po nazivu u Excelu (3 primjera)

3. VBA makronaredba za sortiranje više stupaca sa ili bez zaglavlja

Također možete sortirati više stupaca u skupu podataka pomoću VBA koda.

Koraci:

  • Kao što je prethodno prikazano, otvorite Visual Basic Editor s kartice Developer i Insert a Modul u prozoru koda.
  • U prozoru koda kopirajte sljedeći kod i zalijepite ga.
7931

Vaš je kod sada spreman za izvođenje.

Ovdje,

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

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

U ova dva retka definiramo ćeliju B4 i C4 za sortiranje dvaju stupaca povezanih s njih uzlaznim redoslijedom .

Kako imamo zaglavlja u našem skupu podataka, naveli smo Zaglavlje = xlDa , inače bismo napisali Zaglavlje = xlNo unutar koda.

  • Pokrenite ovaj kod i dobit ćete stupce sa zaglavljem poredane uzlaznim redoslijedom .

4. Makronaredba za sortiranje podataka dvostrukim klikom na zaglavlje u Excelu

Ako želite s lakoćom sortirati podatke samo dvostrukim klikom na zaglavlje , to možete učiniti pomoću VBA kod.

Koraci:

  • Kliknite desnom tipkom miša na karticu lista .
  • Na popisu opcija koji se pojavi kliknite Pogledaj kod .
  • Pojavit će se prozor koda, kopirajte sljedeći kod i zalijepite ga tamo.
5865
  • Spremite kod.

  • Sada se vratite na radni list koji vas zanima i ako dvaput kliknite na zaglavlja vidjet ćete da se stupci reorganiziraju.

Pročitajte više: Kako sortirati i filtrirati podatke u Excel (potpuna smjernica)

Stvari koje treba zapamtiti

  • Možete stvoriti imenovani raspon i koristiti ga umjesto njega kada prosljeđujete raspon referenci ćelija unutar Metoda sortiranja . Na primjer, ako želite sortirati raspon A1:A10 , umjesto da ga prosljeđujete svaki put unutar koda, možete stvoriti njegov imenovani raspon, kao što je “ Raspon sortiranja ” i koristite ga s metodom Range.Sort kao što je Range(“SortRange”) .
  • Ako niste sigurni ima li vaš skup podataka zaglavlja ili ne, možete prepustiti sustavu da to odredi pomoću parametra xlGuess .

Zaključak

Ovaj vam je članak pokazao kako razvrstaj stupac u Excel VBA . Nadam se da vam je ovaj članak bio od velike koristi. Slobodno pitajte ako imate pitanja u vezi s temom.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.