Sadržaj
Znanje kako sortirati raspon pomoću VBA u Excelu štedi vrijeme i trud u našim svakodnevnim izračunima. Iako Excel prema zadanim postavkama nudi mogućnost sortiranja. Korištenjem Range.Sort metode dobivamo pristup nekoliko parametara za sortiranje skupa podataka s više opcija nego inače.
Preuzmi vježbovnu bilježnicu
Preuzmite ovu radnu bilježnicu za vježbanje dok čitate ovaj članak.
Raspon sortiranja u Excel.xlsm
Uvod u naredbu Range.Sort u programu Excel VBA
Cilj: Razvrstati raspon podataka ćelija.
Sintaksa:
izraz .Sortiraj ( Ključ1 , Redoslijed1 , Ključ2 , Vrsta , Narudžba2 , Ključ3 , Narudžba3 , Zaglavlje , NarudžbaPrilagođena , MatchCase , Orijentacija , SortMethod , DataOption1 , DataOption2 , DataOption3 )
Ovdje izraz predstavlja objekt Raspon tj. ćeliju, redak, stupac ili odabir ćelija.
Argumenti:
Moramo osigurati tri glavna parametra za Range.Sort metodu. Oni su-
Ključ – Raspon ćelija iz jednog ili više stupaca koje trebamo sortirati.
Redoslijed – Navedite redoslijed sortiranja uzlazno ili silazno.
Zaglavlje – Odredite imaju li stupci koji se sortiraju imaju zaglavlje ili ne.
6 primjera za sortiranje raspona u programu Excel VBA
Ulazu ovom članku, kao skup podataka, koristit ćemo popis imena ljudi s njihovim datumom rođenja i dobi. Primijenit ćemo različite metode za sortiranje skupa podataka. Prođimo kroz članak i vježbajmo kako bismo svladali ove metode.
1. Razvrstaj raspon jednog stupca pomoću programa Excel VBA
U ovom primjeru, razvrstat ćemo ljude od najstarije do mlađe . Slijedimo korake za korištenje Raspona . Sortiraj metodu koja će razvrstati stupac Dob u silaznim redoslijedom .
Koraci:
- Idite na karticu Developer na Excel vrpci da biste kliknuli na Visual Basic
- Zatim odaberite opciju Modul s kartice Umetanje za otvaranje novog modula .
Sada ćemo staviti naš kod u sortirajte raspon stupaca Dob .
1.1 Stupac sa zaglavljem
Stavite sljedeći kod u uređivač vizualnog koda.
1680
Pritisnite F5 ili kliknite gumb Pokreni za izvršenje koda.
Objašnjenje:
U gornjem kodu stavili smo-
Izraz (Range objekt)=Range(“D4:D11”); stupac dobi s zaglavljem u ćeliji D4 i vrijednostima u D5:D11.
Ključ = Raspon (“D4”); tipka za razvrstavanje.
Redoslijed= xlDescending; kako želimo sortirati vrijednosti od najveće do najniže postavljamo redoslijed sortiranja kao silazeći.
Zaglavlje =xlYes; Na sljedećoj snimci zaslona možemo vidjeti da skup podataka ima zaglavlje za svaki od stupaca.
1.2 Stupac bez zaglavlja
Stavite sljedeće kod u uređivaču vizualnog koda.
5419
Pritisnite F5 ili kliknite gumb Pokreni za izvršenje koda.
Objašnjenje:
U gornjem kodu, stavili smo-
Izraz (Range objekt)=Range(“D4 :D10”); stupac dobi bez zaglavlja ima vrijednosti u D4:D10.
Ključ = Raspon (“D4”); tipka za razvrstavanje.
Redoslijed= xlDescending; kako želimo sortirati vrijednosti od najveće do najniže postavljamo redoslijed sortiranja kao silazni.
Zaglavlje =xlNo; Na sljedećoj snimci zaslona možemo vidjeti da skup podataka nema zaglavlje.
Povezani sadržaj: Kako sortirati stupce u Excelu bez miješanja podataka (3 načina)
2. Korištenje VBA koda za sortiranje raspona više stupaca u Excelu
Da bismo prikazali sortiranje u više stupaca , moramo modificirati naše skup podataka malo. Umetnuli smo nekoliko novih redaka . U modificiranom skupu podataka, retci 7, 8, i 9 imaju iste vrijednosti za datum rođenja i dob ali tri različita imena . Ova imena nisu nikakvim određenim redoslijedom uzlazno ili silazno.
U ovom primjeru poredat ćemo imena uzlaznim redoslijedom . Pokrenimo sljedeći kod u Visual Basic Editoru:
9180
Objašnjenje:
U gornjem na snimci zaslona možemo vidjeti da su dobi u stupcu D poređani u silaznom redu. Dodali smo još dva parametra u našem prethodnom kodu.
Key2: =Range(“B4”) , ključ za sortiranje imena.
Order2: =xlAscending , redoslijed za skraćena imena .
Kao rezultat, vidimo imena u Reci 7, 8 i 9 sada su abecedno poređani uzlaznim redoslijedom.
Na sljedećoj snimci zaslona promijenili smo vrijednost parametra Order2 za sortiranje imena u silaznom redoslijedu.
Pročitajte više: Kako sortirati više stupaca u Excelu (5 brzih pristupa)
3. Dvaput kliknite na zaglavlje za sortiranje raspona stupaca u programu Excel VBA
Excelova zadana značajka sortiranja ne dopušta sortiranje vrijednosti stupca prema dvostruki klik na zaglavlje stupca . No pomoću VBA koda to možemo ostvariti. Ilustrirajmo ovu funkcionalnost primjenom sljedećeg koda.
2773
U ovom kodu upotrijebili smo događaj BeforeDoubleClick da onemogućimo uobičajeni dvostruki – klik što je za početak uređivanja načina ćelije. Ovim događajempokrenuti, ako dvaput – kliknemo na bilo koje od zaglavlja stupaca razvrstava podatke stupaca uzlaznim redoslijedom .
Pročitajte više: VBA za sortiranje stupaca u Excelu (4 metode)
Slična čitanja:
- Kako dodati gumb za sortiranje u Excelu (7 metoda)
- Sortiraj jedinstveni popis u Excelu (10 korisnih metoda)
- Kako za korištenje funkcije sortiranja u programu Excel VBA (8 prikladnih primjera)
- Sortiraj duplikate u programu Excel (stupci i reci)
- Nasumično sortiranje u programu Excel ( Formule + VBA)
4. Sortiraj raspon stupaca na temelju boje pozadine pomoću programa Excel VBA
Možemo sortirati niz ćelija u stupcu na temelju njihove boje pozadine . Da bismo to učinili, moramo dodati parametar nazvan SortOn koji ima vrijednost xlSortOnCellColor . Da bismo demonstrirali razvrstavanje, prvo smo postavili različite boje pozadine u retke našeg skupa podataka .
Zatim u Visual Basic uređivač koda kopirajte sljedeći kod i pritisnite F5 da ga pokrenete.
2647
Na sljedećoj snimci zaslona možemo vidjeti sortirani skup podataka temeljen na njihovu boju pozadine.
Objašnjenje:
- U ovom smo primjeru nazvali radni list “ pozadina ”. Dakle, u kodu smo stavili “ pozadinu ” kao naš naziv aktivnog radnog lista.
- Postavili smo B4 kao ključ i B4:D10 kao raspon . Kôd će sortirati podatke na temelju ključa.
- Kako nismo specificirali parametar zaglavlja , kod se pokreće za zadano bez zaglavlja.
- Parametar poretka postavili smo kao uzlazni, tako da sortira podatke od nižih prema višim vrijednostima .
Pročitajte više: Kako poredati po boji u Excelu (4 kriterija)
5. Primijenite VBA kod za sortiranje raspona stupaca na temelju boje fonta
Primjenom VBA koda možemo sortirati naš skup podataka na temelju njihove boje fonta . Prvo moramo obojiti različite retke kako bismo ilustrirali primjer.
Primijenite donji kod za sortiranje skupa podataka na temelju boje fonta.
9285
Objašnjenje:
- U ovom na primjer, nazvali smo radni list “ fontcolor ”. Dakle, u kodu smo stavili “ fontcolor ” kao naš naziv aktivnog radnog lista.
- Postavili smo B4 kao ključ i B4:D11 kao raspon . Kôd će sortirati podatke na temelju ključa.
- U ovom smo primjeru također naveli parametar zaglavlja kao xlYes .
- Ovdje smo postavili redoslijed parametar kao uzlazni, pa je sortirao podatke od nižih prema višim vrijednostima .
- Vrijednost parametra SortOn je
- Parametar orijentacije drži vrijednost xlTopToBottom jer je to obavezno.
- Boja po kojoj se sortira je u RGB uvjetima koji ima vrijednostod 0 do 255 .
Pročitajte više: Kako sortirati dva stupca u Excelu da se podudaraju (oba točno i djelomično podudaranje)
6. Promijenite orijentaciju u raspon sortiranja pomoću programa Excel VBA
Upotrebom parametra orientation možemo promijeniti način na koji želimo sortirati podatke. U ovom smo primjeru transponirali naš skup podataka da ga razvrstamo vodoravno .
Stavimo sljedeći kod u Visual Basic Editoru i pritisnite F5 da biste ga pokrenuli.
6401
Ovdje smo razvrstali podatke na temelju retka dobi u uzlaznom redu od lijevo prema desno . U kodu smo postavili orijentaciju parametar kao xlSortRows .
Povezani sadržaj: Kako automatski sortirati više stupaca u Excelu (3 načina)
Stvari koje treba zapamtiti
- Parametar SortOn koji smo koristili za sortiranje raspon stupaca temeljen na boji pozadine i boji fonta može koristiti samo objekt radnog lista . Ne možemo ga koristiti s objektom raspona .
- Događaj BeforeDoubleClick razvrstava podatke samo uzlazno.
Zaključak
Sada znamo kako sortirati raspon pomoću VBA u Excelu. Nadamo se da će vas to potaknuti da ovo koristite s više samopouzdanja. Sva pitanja ili prijedloge ne zaboravite staviti u okvir za komentare ispod.