VBA za sortiranje kolone u Excelu (4 metode)

  • Podijeli Ovo
Hugh West

Da biste sortirali u Excelu pomoću VBA , trebate primijeniti metodu Range.Sort . U ovom članku ćemo vam pokazati kako sortirati stupac u Excelu pomoću Range.Sort metode VBA .

Preuzmi radnu svesku

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

Sortiraj kolonu pomoću VBA.xlsm

Range.Sort metoda u Excelu VBA

Range.Sort metoda u VBA sortira raspon vrijednosti u Excelu. Ovdje Range je varijabla objekta koja specificira raspon ćelija koje želimo sortirati u rastućem ili opadajućem redoslijedu.

U nastavku su parametri koje trebate znati o dok radite s ovom metodom.

Parametar Obavezno/ Opciono Tip podataka Opis
Ključ Opcionalno Varijanta Određuje raspon ili kolonu čije vrijednosti se sortiraju.
Red Opcionalno XlSortOrder Određuje redoslijed kojim će se izvršiti sortiranje.
  • xlAscending = Za sortiranje u rastućem redoslijedu.
  • xlDescending = Za sortiranje u opadajućem redoslijedu.
Header Optional XlYesNoGuess Određuje da li prvi red sadrži zaglavlja ili ne .
  • xlNo = Kada kolona nema zaglavlja; Zadana vrijednost.
  • xlYes = Kadakolone imaju zaglavlja.
  • xlGuess = Da bi Excel odredio zaglavlja.

4 Metode u implementaciji VBA za sortiranje kolone u Excelu

U ovom odeljku ćete znati kako sortirati jednu kolonu sa i bez zaglavlja , više kolona sa i bez zaglavlja i kako sortirati samo dvostrukim klikom na zaglavlje u koloni u Excel-u.

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

Ako želite razvrstati jedan stupac u radnom listu Excel pomoću VBA koda, slijedite koraci ispod.

Ovo je naša kolona koju ćemo sortirati sa VBA kodom.

Koraci:

  • Pritisnite Alt + F11 na tastaturi ili idite na karticu Programer -> Visual Basic da otvorite Visual Basic Editor .

  • U iskačućem prozoru koda, sa trake menija , kliknite Umetni -> Modul .

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

Vaš kod je sada spreman za pokretanje.

Ovdje,

  • Ključ1:=Raspon(“B5”) → Specificirano B5 da bi kod znao koji stupac treba sortirati.
  • Red1:=xlAscending → Odredite redoslijed kao xlAscending za sortiranje stupca uzlaznim redoslijedom. Ako želite sortirati kolonu u opadajućem redoslijedu, umjesto toga upišite xlDescending .
  • Zaglavlje:= xlNo →Kako naš stupac nema zaglavlje pa smo ga specificirali sa xlNo opcijom.

  • Pritisnite F5 na tastaturi ili na traci menija odaberite Pokreni -> Pokrenite Sub/UserForm . Također možete jednostavno kliknuti na malu ikonu Play u traci podmenija da pokrenete makro.

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

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

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

7732

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

Ovo će sortirati kolonu na osnovu zadnje uzastopno popunjene ćelije u njoj. 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. Umetni VBA makro za sortiranje jedne kolone sa zaglavljem

U prethodnom odeljku, imali smo skup podataka od jedne kolone bez zaglavlja, ali sada imamo a stupac sa zaglavljem .

Ovaj put ćemo naučiti kako ga sortirati pomoću VBA makro .

Koraci:

  • Na isti način kao i prije, otvorite Visual Basic Editor sa kartice Developer i Insert a Module u prozor koda.
  • U prozoru koda, kopirajte sljedeći kod i zalijepite ga.
9128

Vaš kod je sada spreman za pokretanje.

Ovdje,

  • Key1:=Raspon(“ B5”) → Navedeno B5 kako bi kod znao koji stupac treba sortirati.
  • Red1:=xlDescending → Ovaj put ćemo sortirati kolonu u silazni redoslijed tako da je redoslijed specificiran kao xlDescending .
  • Zaglavlje:= xlYes → Kako naš stupac ovog puta ima zaglavlje pa smo ga specificirali sa xlYes opcija.

  • Pokrenite ovaj kod i dobićete kolona sa zaglavljem sortiranom u opadajućem redosledu .

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

Slična čitanja:

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

3. VBA makro za sortiranje više kolona sa ili bez zaglavlja

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

Koraci:

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

Vaš kod je sada spreman za pokretanje.

Ovdje,

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

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

U ova dva reda definiramo ćeliju B4 i C4 da sortiramo dvije kolone povezane sa ih u uzlaznom redoslijedu .

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

  • Pokrenite ovaj kod i dobićete kolone sa zaglavljem sortiranim uzlaznim redoslijedom .

4. Makro za sortiranje podataka dvostrukim klikom na zaglavlje u Excel-u

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

Koraci:

  • Kliknite desnim tasterom miša na karticu lista .
  • Sa liste opcija koja se pojavi, kliknite Prikaži kod .
  • Pojaviće se prozor koda, kopirajte sljedeći kod i zalijepite ga tamo.
4605
  • Sačuvaj kod.

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

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

Stvari koje treba zapamtiti

  • Možete kreirati imenovani raspon i koristiti ga umjesto toga kada proslijedite raspon referenci ćelija unutar Sort metoda. Na primjer, ako želite sortirati raspon A1:A10 , umjesto da ga svaki put prosljeđujete unutar koda, možete kreirati njegov imenovani raspon, kao što je “ SortRange ” i koristite ga s metodom Range.Sort kao što je Range(“SortRange”) .
  • Ako niste sigurni da li vaš skup podataka ima zaglavlja ili ne, možete dopustiti sistemu da to odredi korištenjem parametra xlGuess .

Zaključak

Ovaj članak vam je pokazao kako da sortirajte kolonu u Excelu VBA . Nadam se da vam je ovaj članak bio od velike koristi. Slobodno pitajte ako imate pitanja u vezi sa temom.

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.