Rang d'ordenació VBA | Com ordenar l'interval a Excel VBA?

Rang d'ordenació VBA d'Excel

Ordenant un interval a VBA es fa mitjançant el mètode range.sort, és una propietat del mètode range amb el qual un usuari pot ordenar un rang per ordre, els arguments per a aquesta funció són Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, tots els arguments d'aquesta funció són opcionals.

Com a part de l'organització o l'estructuració de les dades, és important ordenar-les i organitzar-les. Una cosa similar també està disponible amb VBA, de manera que la pregunta més freqüent sobre els nous estudiants de VBA és com podem fer servir aquesta opció d’ordenació com a part de l’automatització de VBA i aquest article us guia a través de la gamma d’ordenació de VBA amb detall.

Amb Excel, tots coneixem l’opció del tipus disponible a la pestanya DADES.

Opció d'ordenació a VBA

Per utilitzar l’opció d’ordenació, primer hem de decidir quin és el nostre rang de dades i esmentar el mateix rang de dades mitjançant l’objecte RANGE a VBA, després només podem accedir a l’opció “Ordenar” a VBA. Per exemple, suposem que el meu abast de dades va de A1 a D10 i, a continuació, podem proporcionar-lo de la següent manera.

Codi:

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

Ara poseu un punt i seleccioneu el mètode "ORDENAR".

Codi:

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

A continuació es mostra la sintaxi del mètode d’interval SORT, tot i que la sintaxi té arguments diferents, no els necessitem tots per a la nostra codificació VBA, de manera que només necessitem uns quants elements.

[Clau1]: A l’interval de dades que estem ordenant hem d’especificar quina columna hem d’ordenar. Per exemple, a l'interval de dades A1: D10, si volem ordenar les dades segons la columna B, llavors [Clau1] serà Rang ("B1").

[Ordre1]: La columna esmentada al [Clau1] l'argument hauria d'estar ordenat en quin ordre. Aquí podem escollir dues opcions "xlAscending" o "xlDescending".

Capçalera: L'interval de dades esmentat té capçaleres o no, en cas afirmatiu podem proporcionar "xlYes" o bé podem proporcionar "xlNo".

Exemple de rang d'ordenació a VBA

Prenguem l’exemple del rang d’ordenació VBA d’excel per entendre-ho d’una manera millor.

Podeu descarregar aquesta plantilla Excel de rang d’ordenació VBA aquí: plantilla Excel de rang d’ordenació VBA

Per exemple, mireu l’estructura de dades següent.

Tenim dades d’A1 a E17, de manera que primer ordenarem les dades segons “Country-wise”. Seguiu els passos següents per escriure el codi per ordenar les dades.

Pas 1: Inicieu el procediment de macro Excel.

Codi:

 Sub Sort_Range_Example () End Sub 

Pas 2: Primer esmenteu l’interval de dades utilitzant GAMA objecte.

Codi:

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

Pas 3: Ara trieu "Ordena”Mètode de l’objecte Range.

Codi:

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

Pas 4: Atès que estem ordenant les dades en funció del nostre país Clau 1 La columna d'argument serà Range ("B1").

Codi:

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

Pas 5: Un cop esmentada la columna necessària, hem d’esmentar en quin ordre hem d’ordenar les dades i serà “Ordre1” "XlAscending" ordre.

Codi:

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

Pas 6: Les nostres dades tenen capçaleres, de manera que serà capçalera "XlSí".

Codi:

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

Hem esmentat tots els elements necessaris per ordenar les dades. Executeu el codi prement la tecla i la funció F5 i veureu el resultat.

Sortida:

Les dades s’han ordenat en funció dels noms dels països de l’ordre de la A a la Z.

Ara suposem que hem d'ordenar les dades en funció del país, també hem d'ordenar el "Vendes Brutes”De major a menor. En aquests casos, també hem d’utilitzar arguments Key2 i Order2.

Després d’esmentar Key1 i Order1, escollim Key2.

Codi:

 SubOrdenar_Rang_Exemple () Interval ("A1: E17"). Ordenar clau1: = Interval ("B1"), Ordre1: = xlAscendent, Clau2: = Finalitzar sub 

Ja que estem ordenant les dades en funció delVendes Brutes”, El nom de la nostra columna Key2 serà Range (“ D1 ”).

Codi:

 SubOrdenar_Rang_Exemple () Interval ("A1: E17"). Ordenar clau1: = Interval ("B1"), Ordre1: = xlAscendent, Clau2: = Interval ("D1"), Fi final 

Un cop especificat el Key2, hem de decidir el patró d’ordenació de si és un ordre ascendent o descendent en l’argument Order2, ja que estem ordenant el valor de vendes del més gran al més petit, podem triar la comanda “xlDescending”.

Codi:

 Sub Sort_Range_Example () Range ("A1: E17"). Ordena la clau1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), Order2: = xlDescending, Header: = xlYes End Sub 

Després d'això, esmenteu l'argument de capçalera com a "xlYes". Ara executeu el codi i veureu què passa.

Sortida:

Anteriorment, s'havia ordenat basant-se només en "Country-wise", però aquesta vegada s'ha ordenat en base a "Country-wise" i després també en "Vendes brutes" de major a menor.

Així, podem utilitzar el “Ordena”Mètode a VBA per organitzar les dades.

Coses que cal recordar sobre el rang d'ordenació VBA d'Excel

  • L’ordenació és un mètode disponible a VBA i per accedir a aquest mètode hem d’especificar quin és l’interval de cel·les que ordenarem.
  • Si l'interval de dades inclou capçaleres, hem de triar l'opció de capçalera com a "xlYes", si no, podem escollir "xlNo".