VBA-sorteerbereik - Hoe bereik ik in Excel VBA sorteren?

Excel VBA-sorteerbereik

Het sorteren van een bereik in VBA gebeurt op bereik. Sorteermethode, het is een eigenschap van de bereikmethode waarmee een gebruiker een bereik op volgorde kan sorteren, de argumenten voor deze functie zijn de Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, alle argumenten voor deze functie zijn optioneel.

Als onderdeel van de gegevensorganisatie of gegevensstructurering is het belangrijk om de gegevens te sorteren en te ordenen. Iets soortgelijks is ook beschikbaar met VBA, dus een veelgestelde vraag over nieuwe leerlingen van VBA is hoe we deze sorteeroptie kunnen gebruiken als onderdeel van VBA-automatisering, en dit artikel leidt je in detail door het VBA Sort-assortiment.

Met Excel zijn we allemaal bekend met de optie van het type dat beschikbaar is onder het tabblad GEGEVENS.

Sorteeroptie in VBA

Om de sorteeroptie te gebruiken, moeten we eerst beslissen wat ons gegevensbereik is en hetzelfde gegevensbereik vermelden door het RANGE-object in VBA te gebruiken, dan hebben alleen wij toegang tot de "Sorteer" -optie in VBA. Stel dat mijn gegevensbereik van A1 tot D10 is, dan kunnen we het gegevensbereik als volgt opgeven.

Code:

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

Zet nu een punt en selecteer de "SORT" -methode.

Code:

Sub Sort_Range_Example () Bereik ("A1: D10"). Sorteren Einde Sub

Hieronder vindt u de syntaxis van de SORT-methode van bereik. Hoewel syntaxis verschillende argumenten heeft, hebben we ze niet allemaal nodig voor onze VBA-codering, dus we hebben maar een paar elementen nodig.

(Key1): In het gegevensbereik dat we sorteren, moeten we specificeren welke kolom we moeten sorteren. Bijvoorbeeld, in het databereik van A1: D10, als we willen dat de gegevens op basis van kolom B te sorteren, dan (Sleutel 1) zal zijn Range ( “B1”) .

(Order1): de genoemde kolom in het (Key1) -argument moet in welke volgorde worden gesorteerd. We kunnen hier twee opties kiezen: 'xlAscending' of 'xlDescending'.

Header: het genoemde gegevensbereik heeft headers of niet. Zo ja, dan kunnen we "xlYes" leveren of anders kunnen we "xlNo" leveren.

Voorbeeld van sorteerbereik in VBA

Laten we het voorbeeld nemen van Excel VBA-sorteerbereik om dit op een betere manier te begrijpen.

Bekijk bijvoorbeeld de onderstaande datastructuur.

We hebben gegevens van A1 tot E17, dus eerst sorteren we de gegevens op basis van "Landelijk". Volg de onderstaande stappen om de code te schrijven om de gegevens te sorteren.

Stap 1: Start de Excel-macroprocedure.

Code:

Sub Sort_Range_Example () End Sub

Stap 2: vermeld eerst het gegevensbereik met behulp van het RANGE- object.

Code:

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

Stap 3: Kies nu de “ Sort ” -methode van het Range-object.

Code:

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

Step 4: Since we are sorting the data based on “Country-wise,” our Key 1 argument column will be Range (“B1”).

Code:

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

Step 5: Once the required column is mentioned, we need to mention in what order we need to sort the data, and “Order1” will be “xlAscending” order.

Code:

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

Step 6: Our data has headers, so Header will be “xlYes.”

Code:

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.

Op deze manier kunnen we de " Sort " -methode in VBA gebruiken om de gegevens te ordenen.

Dingen om te onthouden over het sorteerbereik van Excel VBA

  • De sortering is een methode die beschikbaar is in VBA en om toegang te krijgen tot deze methode, moeten we specificeren wat het celbereik is dat we gaan sorteren.
  • Als het gegevensbereik kopteksten bevat, moeten we de koptekstoptie kiezen als 'xlYes', zo niet, dan kunnen we 'xlNo' kiezen.

Interessante artikelen...