Sadržaj
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.
|
Header | Optional | XlYesNoGuess | Određuje da li prvi red sadrži zaglavlja ili ne .
|
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.