Macrocomenzile Excel ar putea să nu fie la fel de cuprinzătoare ca alte instrumente de automatizare, dar validitatea și eficiența Excel VBA nu pot fi subminate. Dacă lucrați în Excel și alte instrumente Microsoft Office, cum ar fi Word și Access, nu puteți greși cu VBA și capabilitățile sale.
MS Excel este un instrument puternic care oferă o mulțime de opțiuni utilizatorilor săi. De la stocarea datelor până la crearea de tablouri de bord automate, puteți face totul în Excel și foile sale de calcul.
Dacă doriți să utilizați VBA pentru a vă automatiza responsabilitățile de sortare în Excel, încercați aceste macrocomenzi eficiente și ușor de aplicat.
Descărcați un set de date simulat
Pentru început, puteți descărca un set de date inactiv pentru a lucra la abilitățile dvs. de macrocomandă Excel.
Fii sigur, odată ce ai înțeles aceste macrocomenzi și ai înțeles mai bine cum funcționează lucrurile, poți schimba codul pentru a se potrivi propriilor foi de calcul pentru serviciu sau școală.
Puteți descărca setul de date folosit în acest articol dacă doriți să urmați.
Descarca: Set de date Excel
1. Sortarea unei coloane folosind macrocomenzi Excel
Utilizați acest cod simplu pentru a sorta o coloană de date într-o foaie de calcul Excel. Dacă ați descărcat setul de date inactiv, puteți încerca să sortați coloana E (unități vândute).
Deschideți un nou fișier Excel și salvați-l cu un Caiet de lucru cu macro-activare Excel (.xlsm) tip registru de lucru. Acest fișier va stoca macro-ul pentru a vă sorta datele dintr-un alt fișier.
Legate de: Cele mai bune cursuri online pentru a stăpâni Excel avansat
Veți controla fișierul (fișierele) din fișierul macro, care va interacționa separat cu registrele de lucru.
Introdu următorul cod:
Sub sortwithheaders()
Caiete de lucru ("Financial Sample.xlsx"). Fișe (1).Activați
Range("A1:P701").sort Key1:=Range("e1"), Order1:=xlAscending, Header:=xlYes
End Sub
Unde:
- Cheia 1: Definiți coloanele pe care doriți să le sortați
- Comanda 1: Metoda de comanda (crescatoare/descrescatoare)
- Antet: Dacă conținutul dvs. are antete, această opțiune va rămâne ca xlDa. Alternativ, selectați xlNu.
Intervalul va consta din celula de pornire și adresa celulei de sfârșit, astfel încât totul să fie capturat în scopuri de sortare. Rezultatul este că întregul set de date va fi sortat pe baza datelor din coloana E.
2. Sortarea datelor dinamice într-o singură coloană
Pot exista cazuri în care punctul de pornire este definit, dar punctul final este dinamic. Într-un astfel de caz, puteți face codul dinamic, astfel încât să ridice automat sfârșitul intervalului.
Pentru a face față modificării datelor, utilizați codul de mai jos:
Sub sortwithheaders()
Caiete de lucru ("Financial Sample.xlsx"). Fișe (1).Activați
Interval(„A1”, Interval(„A1”). Sfârșit (xlJos)).sort Key1:=Range(„e2”), Order1:=xlAscending, Header:=xlYes
End Sub
Unde:
- Sfârșit (xlDown): Această funcție va alege automat ultima celulă populată automat
Notă: Dacă formula întâlnește o celulă goală într-o coloană, va considera celula anterioară ca sfârșitul intervalului.
Legate de: Cum se creează comenzi rapide personalizate de la tastatură în Microsoft Excel
3. Sortarea mai multor coloane împreună
Pot exista situații în care doriți să sortați datele în mai multe coloane dintr-o singură mișcare. Pentru a face acest lucru, puteți utiliza următorul cod pentru a vă atinge scopul:
Sub SortMultipleColumns()
Cu foi de lucru ("Sheet1")
Cu .Cells (1, „A”).CurrentRegion
.Cells.sort Key1:=.Range("B1"), Order1:=xlAscending, _
Key2:=.Range("E1"), Order2:=xlAscending, _
Orientare:=xlTopToBottom, Antet:=xlDa
Se termina cu
Se termina cu
End Sub
4. Sortarea coloanelor pe mai multe foi
Când aveți de-a face cu mai multe foi, poate doriți să pregătiți datele pentru a fi introduse într-un tablou de bord. Unul dintre cele mai importante aspecte ale pregătirii datelor este sortarea acestora și aranjarea datelor într-un anumit format pentru a le prezenta părților interesate sau clienților dumneavoastră.
O opțiune este să parcurgeți manual fiecare foaie, să sortați coloanele necesare și apoi să treceți la pasul următor. Alternativ, de ce să nu lași VBA să o facă pentru tine?
Intenția codului de mai jos este să parcurgă fiecare foaie disponibilă din registrul de lucru și, pe baza coloanelor specificate, să sorteze datele disponibile.
Legate de: Funcții de căutare Microsoft Excel pentru a căuta mai eficient foile de calcul
Iată cum puteți sorta coloanele pe mai multe foi:
Sub SortWS()
Dim ws As Worksheet
„Activați foaia de lucru dorită
Caiete de lucru ("Financial Sample.xlsx").Activare
„Parcurgeți automat fiecare foaie de lucru individuală folosind bucla for
Pentru fiecare ws În ActiveWorkbook. Foi
„Activați fiecare foaie de lucru individuală
ws. Activati
„Definiți intervalul și apoi sortați coloana în funcție de cerințele dvs. În acest caz, o singură coloană este sortată.
Interval(„A1”, Interval(„p1”). Sfârșit (xlJos)).sort Key1:=Range(„E1”), Order1:=xlDescending, Header:=xlYes
„Comandă folosită pentru a trece la următoarea foaie de lucru, odată ce foaia de lucru anterioară a fost sortată
Următorul ws
End Sub
Toate informațiile care încep cu ghilimele simple sunt comentarii VBA. Acestea nu sunt executate în timpul etapei de execuție. Cu toate acestea, fiecare comentariu VBA pe care îl adăugați este o adăugare semnificativă la cod, deoarece puteți defini esența, funcționalitatea și alte părți relevante în secțiunile de cod.
5. Copierea datelor sortate de pe o foaie pe alta
Imaginați-vă o situație în care doriți să sortați datele și să copiați întregul set de date (sau părți ale acestuia) într-o foaie nou adăugată. În astfel de cazuri, puteți utiliza codul de mai jos pentru a efectua sarcina la îndemână:
Sub SortWS()
Dim ws As Worksheet
„Activați foaia de lucru dorită
Caiete de lucru ("Financial Sample.xlsx").Activare
„Parcurgeți automat fiecare foaie de lucru individuală folosind bucla for
Pentru fiecare ws În ActiveWorkbook. Foi
„Activați fiecare foaie de lucru individuală
ws. Activati
„Definiți intervalul și apoi sortați coloana în funcție de cerințele dvs.
„În acest caz, o singură coloană este sortată.
Interval(„A1”, Interval(„p1”). Sfârșit (xlJos)).sort Key1:=Range(„E1”), Order1:=xlDescending, Header:=xlYes
„Comandă folosită pentru a trece la următoarea foaie de lucru, odată ce foaia de lucru anterioară a fost sortată
Următorul ws
„Creați o nouă foaie de lucru în registrul de lucru pentru a stoca noile date
ActiveWorkbook. Foi. Adăuga. Nume = „Rezultate”
„Copiați și lipiți datele sortate în foaia nou adăugată
Sheets("Sheet1").Range("A1:p701").Copy Destination:=Sheets("Results").Range("a1")
End Sub
Codul de mai sus va sorta valorile în coloana E, adaugă o nouă foaie Rezultate în registrul de lucru existent și inserați rezultatele sortate în celulă A1.
Crearea macrocomenzilor de sortare în Excel
Excel VBA este un limbaj ingenios care vă poate economisi mult timp și efort. Folosind macrocomenzi VBA, puteți crea tablouri de bord extinse, puteți sorta cu ușurință datele cu câteva clicuri și puteți efectua diferite funcții cu ușurință.
Din fericire, funcționalitatea Excel nu se termină cu macrocomenzi. Consultați câteva sfaturi și trucuri pentru a deveni un utilizator Excel mai eficient.
Fie că ești un maestru la Excel sau ai început, iată primele nouă site-uri web și bloguri pe care le poți folosi pentru a afla câteva sfaturi și trucuri.
Citiți în continuare
- Programare
- Microsoft Excel
- Macro-uri
Gaurav Siyal are doi ani de experiență în scris, scriind pentru o serie de firme de marketing digital și documente despre ciclul de viață al software-ului.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Click aici pentru a te abona