Kako sortirati raspon pomoću VBA u Excelu (6 primjera)

  • Podijeli Ovo
Hugh West

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.

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.