Gama de sortare VBA - Cum se sortează intervalul în Excel VBA?

Gama de sortare Excel VBA

Sortarea unui interval în VBA se face prin metoda range.sort, este o proprietate a metodei range cu care un utilizator poate sorta un interval în ordine, argumentele pentru această funcție sunt Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, toate argumentele pentru această funcție sunt opționale.

Ca parte a organizării sau structurării datelor, este important să sortați datele și să le organizați. Un lucru similar este disponibil și cu VBA, așa că o întrebare obișnuită despre noii cursanți de VBA este cum putem folosi această opțiune de sortare ca parte a automatizării VBA, iar acest articol vă ghidează în detaliu gama VBA Sort.

Cu Excel, suntem cu toții familiarizați cu opțiunea de tip care este disponibilă în fila DATE.

Opțiunea de sortare în VBA

Pentru a utiliza opțiunea de sortare, mai întâi, trebuie să decidem care este intervalul nostru de date și să menționăm același interval de date folosind obiectul RANGE în VBA, apoi numai noi putem accesa opțiunea „Sortare” în VBA. De exemplu, să presupunem că intervalul meu de date este de la A1 la D10, atunci putem furniza intervalul de date după cum urmează.

Cod:

Sub Sort_Range_Example () Range ("A1: D10") End Sub

Acum puneți un punct și selectați metoda „SORT”.

Cod:

Sub Sort_Range_Example () Range ("A1: D10"). Sort Sort Sub

Mai jos este sintaxa metodei SORT a intervalului. Deși sintaxa are argumente diferite, nu avem nevoie de toate pentru codarea noastră VBA, deci avem nevoie doar de câteva elemente.

(Cheia1): În intervalul de date pe care îl sortăm , trebuie să specificăm ce coloană trebuie să sortăm. De exemplu, în intervalul de date A1: D10, dacă dorim să sortăm datele pe baza coloanei B, atunci (Tasta1) va fi Range („B1”) .

(Order1): Coloana menționată în argumentul (Key1) ar trebui să fie sortată în ce ordine. Putem alege două opțiuni aici „xlAscending” sau „xlDescending”.

Antet: Intervalul de date menționat are antete sau nu. Dacă da, putem furniza „xlYes” sau altfel putem furniza „xlNo”.

Exemplu de sortare în VBA

Să luăm exemplul gamei de sortare Excel VBA pentru a înțelege acest lucru într-o manieră mai bună.

De exemplu, priviți structura de date de mai jos.

Avem date de la A1 la E17, deci mai întâi vom sorta datele pe baza „în funcție de țară”. Urmați pașii de mai jos pentru a scrie codul pentru a sorta datele.

Pasul 1: Porniți procedura macro excel.

Cod:

Sub Sort_Range_Example () End Sub

Pasul 2: Mai întâi, menționați intervalul de date utilizând obiectul RANGE .

Cod:

Sub Sort_Range_Example () Range ("A1: E17") End Sub

Pasul 3: Alegeți acum metoda „ Sortare ” a obiectului Range.

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Sort Sub

Pasul 4: Întrucât sortăm datele pe baza „În funcție de țară”, coloana noastră de argument Key 1 va fi Range („B1”).

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), End Sub

Pasul 5: Odată menționată coloana necesară, trebuie să menționăm în ce ordine trebuie să sortăm datele, iar „Comanda1” va fi comanda „xlAscending” .

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, End Sub

Pasul 6: datele noastre au anteturi, deci Antetul va fi „xlYes”.

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Header: = xlDes End Sub

Am menționat toate elementele necesare pentru sortarea datelor. Executați codul apăsând funcția și tasta F5 și vedeți rezultatul.

Ieșire:

Datele au fost sortate în funcție de numele țărilor în ordinea de la A la Z.

Acum presupunem că trebuie să sortăm datele în funcție de țară, de asemenea, trebuie să sortăm „ vânzările brute ” de la cel mai mare la cel mai mic. În astfel de cazuri, trebuie să folosim și argumentele Key2 și Order2.

După ce menționăm Cheia1 și Comanda1, să alegem Cheia2.

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = End Sub

Deoarece sortăm datele pe baza coloanei „ Vânzări brute ”, numele coloanei cheie2 va fi Range („D1”).

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), End Sub

Odată ce Key2 este specificat, trebuie să decidem asupra modelului de sortare dacă este o ordine crescătoare sau descendentă în argumentul Order2. Deoarece sortăm valoarea vânzărilor de la cea mai mare la cea mai mică, putem alege comanda „xlDescending”.

Cod:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlCscending, Key2: = Range ("D1"), Order2: = xlDescending, Header: = xlY End End Sub

După aceea, menționați argumentul Header ca „xlYes”. Acum rulați codul și vedeți ce se întâmplă.

Ieșire:

Anterior, acesta a fost sortat numai pe „Country-wise”, dar de data aceasta s-a sortat pe „Country-wise”, mai întâi și apoi și pe „Vânzări brute” de la cel mai mare la cel mai mic.

Astfel, putem folosi metoda „ Sortare ” în VBA pentru a organiza datele.

Lucruri de reținut despre gama de sortare Excel VBA

  • Sortarea este o metodă disponibilă în VBA și, pentru a accesa această metodă, trebuie să specificăm intervalul de celule pe care urmează să le sortăm.
  • Dacă intervalul de date include anteturi, atunci trebuie să alegem opțiunea antet ca „xlYes”, dacă nu, putem alege „xlNo”.

Articole interesante...