VBA Sorteringsområde - Hvordan sortere rekkevidde i Excel VBA?

Innholdsfortegnelse

Excel VBA sorteringsområde

Sortering av et område i VBA gjøres etter range.sort-metoden, det er en egenskap for områdemetoden som en bruker kan sortere et område i rekkefølge, argumentene for denne funksjonen er Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, alle argumentene for denne funksjonen er valgfrie.

Som en del av dataorganiseringen eller datastruktureringen er det viktig å sortere dataene og organisere dem. En lignende ting er også tilgjengelig med VBA, så et vanlig spørsmål om nye lærere av VBA er hvordan vi kan bruke dette sorteringsalternativet som en del av VBA-automatisering, og denne artikkelen guider deg gjennom VBA Sort-serien i detalj.

Med Excel er vi alle kjent med muligheten for den typen som er tilgjengelig under DATA-fanen.

Sorteringsalternativ i VBA

For å bruke sorteringsalternativet, må vi først bestemme hva dataområdet vårt er og nevne det samme dataområdet ved å bruke RANGE-objektet i VBA, så bare vi kan få tilgang til "Sorter" -alternativet i VBA. Anta for eksempel at dataområdet mitt er fra A1 til D10, så kan vi gi dataområdet som følger.

Kode:

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

Sett nå en prikk og velg “SORT” -metoden.

Kode:

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

Nedenfor er syntaksen til SORT-metoden for rekkevidde. Selv om syntaksen har forskjellige argumenter, trenger vi ikke alle for vår VBA-koding, så vi trenger bare noen få elementer.

(Nøkkel1): I dataområdet vi sorterer, må vi spesifisere hvilken kolonne vi trenger å sortere. For eksempel, i dataområdet A1: D10, hvis vi vil sortere dataene basert på kolonne B, vil (Nøkkel1) være Område (“B1”) .

(Order1): Den nevnte kolonnen i (Key1) -argumentet skal sorteres i hvilken rekkefølge. Vi kan velge to alternativer her "xlAscending" eller "xlDescending."

Overskrift: Det nevnte dataområdet har overskrifter eller ikke. Hvis ja, kan vi levere “xlYes” ellers kan vi levere “xlNo.”

Eksempel på sorteringsområde i VBA

La oss ta eksemplet med excel VBA-sortiment for å forstå dette på en bedre måte.

Se for eksempel på datastrukturen nedenfor.

Vi har data fra A1 til E17, så først vil vi sortere dataene basert på "landsmessig." Følg trinnene nedenfor for å skrive koden for å sortere dataene.

Trinn 1: Start Excel-makroprosedyren.

Kode:

Sub Sort_Range_Example () Slutt Sub

Trinn 2: Nevn først dataområdet ved å bruke RANGE- objektet.

Kode:

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

Trinn 3: Velg nå " Sorter " -metoden for Range-objektet.

Kode:

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

Trinn 4: Siden vi sorterer dataene basert på "Landsmessig", vil vår nøkkel 1- argumentkolonne være Range ("B1").

Kode:

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

Trinn 5: Når den nødvendige kolonnen er nevnt, må vi nevne i hvilken rekkefølge vi trenger for å sortere dataene, og "Orden1" vil være "xlAscending" rekkefølge.

Kode:

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

Trinn 6: Dataene våre har overskrifter, så overskriften vil være "xlYes."

Kode:

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

We have mentioned all the elements which are required to sort the data. Execute the code by pressing the F5 function and key and see the result.

Output:

Data has been sorted based on Country names in the order of A to Z.

Now assume we need to sort the data based on Country-wise also we need to sort the “Gross Sales” from highest to lowest. In such cases, we need to make use of Key2 and Order2 arguments as well.

After mentioning Key1 & Order1, let’s choose Key2.

Code:

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

Since we are sorting the data based on the “Gross Sales” column, our Key2 column name will be Range(“D1”).

Code:

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

Once the Key2 is specified, we need to decide on the sorting patter of whether it is ascending order or descending order in Order2 argument. Since we are sorting the sales value from largest to smallest, we can choose “xlDescending” order.

Code:

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

After that, mention the Header argument as “xlYes.” Now run the code and see what happens.

Output:

Previously it has sorted based only on “Country-wise” but this time it has sorted based on “Country-wise” first and then also on “Gross Sales” from highest to lowest.

Slik kan vi bruke " Sorter " -metoden i VBA for å organisere dataene.

Ting å huske på Excel VBA Sort Range

  • Sorteringen er en metode som er tilgjengelig i VBA, og for å få tilgang til denne metoden, må vi spesifisere hva celleområdet vi skal sortere.
  • Hvis dataområdet inkluderer overskrifter, må vi velge toppalternativet som "xlYes", hvis ikke, kan vi velge "xlNo."

Interessante artikler...