VBA Sıralama Aralığı - Excel VBA'da Aralık Nasıl Sıralanır?

Excel VBA Sıralama Aralığı

VBA'da bir aralığın sıralanması , range.sort yöntemi ile yapılır, kullanıcının bir aralığı sırayla sıralayabileceği aralık yönteminin bir özelliğidir, bu işlevin argümanları Key1, Order1, Key2, Type, Order2, Key3'tür. , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, bu işlev için tüm bağımsız değişkenler isteğe bağlıdır.

Veri düzenleme veya veri yapılandırmanın bir parçası olarak, verileri sıralamak ve organize etmek önemlidir. Benzer bir şey VBA ile de mevcuttur, bu nedenle VBA'nın yeni öğrencileri hakkında ortak bir soru, bu sıralama seçeneğini VBA otomasyonunun bir parçası olarak nasıl kullanabileceğimizdir ve bu makale, VBA Sıralama aralığı boyunca size ayrıntılı olarak rehberlik eder.

Excel ile, VERİ sekmesi altında bulunan sıralama seçeneğine hepimiz aşinayız.

VBA'da Sıralama Seçeneği

Sıralama seçeneğini kullanmak için, önce veri aralığımızın ne olduğuna karar vermemiz ve aynı veri aralığını VBA'da RANGE nesnesini kullanarak belirtmemiz gerekiyor, o zaman VBA'da sadece “Sırala” seçeneğine erişebiliriz. Örneğin, veri aralığımın A1'den D10'a kadar olduğunu varsayın, o zaman veri aralığını aşağıdaki gibi sağlayabiliriz.

Kod:

Alt Sıralama_Aralık_Örneği () Aralık ("A1: D10") Son Alt

Şimdi bir nokta koyun ve "SIRALA" yöntemini seçin.

Kod:

Alt Sırala_Aralık_Örneği () Aralık ("A1: D10"). Son Alt Sırala

Aşağıda SORT yöntem aralığı sözdizimi verilmiştir. Sözdiziminin farklı argümanları olmasına rağmen, VBA kodlamamız için hepsine ihtiyacımız yok, bu yüzden sadece birkaç öğeye ihtiyacımız var.

(Key1): Sıraladığımız veri aralığında hangi sütunu sıralayacağımızı belirtmemiz gerekiyor. Örneğin, verilerdeki A1 aralığı: D10, biz B sütunundaki dayalı verileri sıralamak istiyorsanız, o zaman (Tuş1) olacak Aralığı ( “B1”) .

(Sıra1): (Anahtar1) bağımsız değişkeninde belirtilen sütun hangi sırayla sıralanmalıdır. Burada "xlAscending" veya "xlDescending" olmak üzere iki seçenek seçebiliriz.

Başlık: Bahsedilen veri aralığının başlıkları var veya yok. Evet ise, "xlYes" sağlayabilir veya "xlNo" sağlayabiliriz.

VBA'da Sıralama Aralığı Örneği

Bunu daha iyi anlamak için excel VBA sıralama aralığı örneğini ele alalım.

Örneğin, aşağıdaki veri yapısına bakın.

A1'den E17'ye kadar verilerimiz var, bu nedenle önce verileri "Ülke bazında" sıralayacağız. Verileri sıralamak için kodu yazmak için aşağıdaki adımları izleyin.

Adım 1: Excel makro prosedürünü başlatın.

Kod:

Alt Sıralama_Aralık_Örneği () Son Alt

Adım 2: İlk olarak, RANGE nesnesini kullanarak veri aralığından bahsedin .

Kod:

Alt Sıralama_Aralık_Örneği () Aralık ("A1: E17") Son Alt

Adım 3: Şimdi Range nesnesinin " Sırala " yöntemini seçin .

Kod:

Alt Sırala_Aralık_Örneği () Aralık ("A1: E17"). Son Alt Sırala

Adım 4: Verileri "Ülke bazında" sıraladığımız için, Anahtar 1 bağımsız değişken sütunumuz Aralık ("B1") olacaktır.

Kod:

Alt Sıralama_Aralık_Örneği () Aralık ("A1: E17"). Sıralama Anahtarı1: = Aralık ("B1"), Son Alt

Adım 5: Gerekli sütundan bahsedildikten sonra, verileri hangi sırayla sıralamamız gerektiğini belirtmemiz gerekir ve “Order1” “xlAscending” sırası olacaktır.

Kod:

Alt Sıralama_Aralık_Örneği () Aralık ("A1: E17"). Sıralama Anahtarı1: = Aralık ("B1"), Sıra1: = xlAscending, End Sub

6. Adım: Verilerimizin başlıkları vardır, bu nedenle Başlık "xlYes" olacaktır.

Kod:

Alt Sıralama_Aralık_Örneği () Aralık ("A1: E17"). Sırala Anahtarı1: = Aralık ("B1"), Sıra1: = xlAscending, Üstbilgi: = xlEvet 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.

Bunun gibi , verileri düzenlemek için VBA'daki “ Sırala ” yöntemini kullanabiliriz .

Excel VBA Sıralama Aralığı Hakkında Hatırlanması Gerekenler

  • Sıralama, VBA'da bulunan bir yöntemdir ve bu yönteme erişmek için hangi hücre aralığını sıralayacağımızı belirlememiz gerekir.
  • Veri aralığı başlıkları içeriyorsa, başlık seçeneğini "xlYes" olarak seçmemiz gerekir, yoksa "xlNo" yu seçebiliriz.

Ilginç makaleler...