Excelovi makri morda niso tako obsežni kot druga orodja za avtomatizacijo, vendar veljavnosti in učinkovitosti Excel VBA ni mogoče spodkopati. Če delate v Excelu in drugih orodjih Microsoft Office, kot sta Word in Access, ne morete zgrešiti z VBA in njegovimi zmogljivostmi.
MS Excel je zmogljivo orodje, ki svojim uporabnikom ponuja ogromno možnosti. Od shranjevanja podatkov do ustvarjanja samodejnih nadzornih plošč, lahko vse to storite v Excelu in njegovih preglednicah.
Če želite uporabiti VBA za avtomatizacijo razvrščanja v Excelu, poskusite te učinkovite makre, ki jih je enostavno uporabiti.
Prenesite navidezni nabor podatkov
Za začetek lahko prenesete navidezni nabor podatkov za delo na vaših Excelovih makro veščinah.
Bodite prepričani, ko spoznate te makre in bolje razumete, kako stvari delujejo, lahko kodo premaknete tako, da ustreza vašim preglednicam za delo ali šolo.
Nabor podatkov, uporabljen v tem članku, lahko prenesete, če želite slediti.
Prenesi: Excelov nabor podatkov
1. Razvrščanje enega stolpca z uporabo Excelovih makrov
S to preprosto kodo razvrstite podatkovni stolpec v Excelovi preglednici. Če ste prenesli navidezni nabor podatkov, lahko poskusite razvrstiti stolpec E (Prodane enote).
Odprite novo datoteko Excel in jo shranite z datoteko Delovni zvezek z omogočenimi makri v Excelu (.xlsm) vrsta delovnega zvezka. Ta datoteka bo shranila makro za razvrščanje vaših podatkov iz druge datoteke.
Povezano: Najboljši spletni tečaji za obvladovanje naprednega Excela
Svoje datoteke boste nadzorovali iz datoteke makra, ki bo ločeno sodelovala z vašimi delovnimi zvezki.
Vnesite naslednjo kodo:
Sub sortwithheaders()
Delovni zvezki ("Finančni vzorec.xlsx"). Listi (1). Aktivirajte
Obseg("A1:P701").sort Key1:=Range("e1"), Order1:=xlAscending, Header:=xlYes
Končni sub
Kje:
- Ključ 1: Določite stolpce, ki jih želite razvrstiti
- Naročilo 1: Način razvrščanja (naraščajoče/padajoče)
- Glava: Če ima vaša vsebina glave, bo ta možnost ostala kot xlDa. Druga možnost je, da izberete xl št.
Obseg bo sestavljen iz začetne celice in končnega naslova celice, tako da je vse zajeto za namene razvrščanja. Rezultat je, da bo vaš celoten nabor podatkov razvrščen na podlagi podatkov v stolpcu E.
2. Razvrščanje dinamičnih podatkov v enem stolpcu
Morda obstajajo primeri, ko je vaša začetna točka definirana, vendar je vaša končna točka dinamična. V takem primeru lahko svojo kodo naredite dinamično, tako da samodejno prevzame konec obsega.
Za prilagoditev spremembam podatkov uporabite spodnjo kodo:
Sub sortwithheaders()
Delovni zvezki ("Finančni vzorec.xlsx"). Listi (1). Aktivirajte
Obseg("A1", Obseg("A1").Konec (xlDown)).sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlYes
Končni sub
Kje:
- Konec (xlDown): Ta funkcija bo samodejno izbrala zadnjo poseljeno celico
Opomba: Če formula naleti na prazno celico znotraj stolpca, bo prejšnjo celico obravnavala kot konec obsega.
Povezano: Kako ustvariti bližnjice na tipkovnici po meri v Microsoft Excelu
3. Razvrščanje več stolpcev skupaj
Obstajajo lahko situacije, ko želite naenkrat razvrstiti podatke v več stolpcih. Če želite to narediti, lahko uporabite naslednjo kodo, da dosežete svoj namen:
PodrazvrstitevVeč stolpcev()
Z delovnimi listi ("List1")
S celicami .Cells (1, "A").CurrentRegion
.Cells.sort Key1:=.Range("B1"), Order1:=xlAscending, _
Key2:=.Range("E1"), Order2:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlYes
Končaj z
Končaj z
Končni sub
4. Razvrščanje stolpcev po več listih
Ko imate opravka z več listi, boste morda želeli svoje podatke pripraviti za vnos na nadzorno ploščo. Eden najpomembnejših vidikov priprave podatkov je njihovo razvrščanje in urejenost podatkov v določeni obliki, da jih predstavite svojim deležnikom ali strankam.
Ena od možnosti je, da ročno krožite po vsakem listu, razvrstite zahtevane stolpce in nato nadaljujete na naslednji korak. Druga možnost je, zakaj ne dovolite VBA, da to stori namesto vas?
Namen spodnje kode je krožiti po vsakem razpoložljivem listu v delovnem zvezku in na podlagi podanih stolpcev razvrstiti razpoložljive podatke.
Povezano: Funkcije iskanja v Microsoft Excelu za učinkovitejše iskanje po preglednicah
Tako lahko razvrstite stolpce na več listih:
PodrazvrstiWS()
Dim ws As Worksheet
'Aktivirajte predvideni delovni list
Delovni zvezki("Financial Sample.xlsx"). Aktivirajte
»Samodejno se pomikajte po vsakem posameznem delovnem listu z uporabo zanke for
Za vsako ws v ActiveWorkbook. Listi
'aktivirajte vsak posamezen delovni list
ws. Aktiviraj
»Določite obseg in nato razvrstite stolpec na podlagi vaših zahtev. V tem primeru je razvrščen samo en stolpec.
Obseg("A1", Obseg("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Ukaz, ki se uporablja za pomik na naslednji delovni list, ko je prejšnji delovni list razvrščen
Naslednji ws
Končni sub
Vse informacije, ki se začnejo z enojnimi narekovaji, so komentarji VBA. Ti se ne izvajajo v fazi izvedbe. Vendar je vsak komentar VBA, ki ga dodate, pomemben dodatek k kodi, saj lahko definirate bistvo, funkcionalnost in druge pomembne dele znotraj razdelkov kode.
5. Kopiranje razvrščenih podatkov z enega lista na drugega
Predstavljajte si situacijo, ko želite razvrstiti podatke in kopirati celoten nabor podatkov (ali njegove dele) v novo dodan list. V takih primerih lahko za izvedbo naloge uporabite spodnjo kodo:
PodrazvrstiWS()
Dim ws As Worksheet
'Aktivirajte predvideni delovni list
Delovni zvezki("Financial Sample.xlsx"). Aktivirajte
»Samodejno se pomikajte po vsakem posameznem delovnem listu z uporabo zanke for
Za vsako ws v ActiveWorkbook. Listi
'aktivirajte vsak posamezen delovni list
ws. Aktiviraj
»Določite obseg in nato razvrstite stolpec na podlagi vaših zahtev.
»V tem primeru je razvrščen samo en stolpec.
Obseg("A1", Obseg("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Ukaz, ki se uporablja za pomik na naslednji delovni list, ko je prejšnji delovni list razvrščen
Naslednji ws
»Ustvarite nov delovni list v delovnem zvezku za shranjevanje novih podatkov
ActiveWorkbook. Listi. Dodaj Ime = "Rezultati"
»Kopiraj in prilepi razvrščene podatke na novo dodan list
Listi("List1").Razpon("A1:p701"). Cilj kopiranja:=Liste("Rezultati").Razpon("a1")
Končni sub
Zgornja koda bo razvrstila vrednosti v stolpcu E, dodala nov list Rezultati v obstoječi delovni zvezek in prilepite razvrščene rezultate v celico A1.
Ustvarjanje makrov za razvrščanje v Excelu
Excel VBA je izvrsten jezik, ki vam lahko prihrani veliko časa in truda. Z uporabo makrov VBA lahko ustvarite obsežne nadzorne plošče, preprosto razvrstite podatke z nekaj kliki in z lahkoto izvajate različne funkcije.
Na srečo se Excelova funkcionalnost ne konča z makri. Oglejte si nekaj nasvetov in trikov, da postanete učinkovitejši uporabnik Excela.
Ne glede na to, ali ste mojster v Excelu ali šele začenjate, je tukaj devet najboljših spletnih mest in blogov, s katerimi se lahko naučite nekaj nasvetov in trikov.
Preberite Naprej
- Programiranje
- Microsoft Excel
- Makri
Gaurav Siyal ima dve leti izkušenj s pisanjem, pisanjem za vrsto podjetij za digitalni marketing in dokumente o življenjskem ciklu programske opreme.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite