Vba: değerler listesi nasıl sınıflandırılır


VBA’yı kullanarak Excel’de bir değerler listesi sıralamak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 SubRankValues ()
    Dim i As Integer

    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 0)
    Next i
End Sub

Bu özel örnek, B2:B11 hücrelerindeki değerleri sıralar ve C2:C11 hücrelerindeki sıraları görüntüler.

Son argüman olan 0, değerlerin artan sırada sıralanması gerektiğini belirtir (en büyük değer 1 sırasını alır, ikinci en büyük değer 2 sırasını alır vb.).

Değerleri azalan sırada sıralamak için 0’ı 1 ile değiştirmeniz yeterlidir.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA Kullanarak Değerler Nasıl Sıralanır?

Diyelim ki, aldıkları puanlarla birlikte aşağıdaki basketbolcu listesine sahibiz:

Puan sütunundaki her değerin sırasını hesaplamak istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 SubRankValues ()
    Dim i As Integer

    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 0)
    Next i
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Puan sütunundaki her değerin sıralaması C sütununda görüntülenir.

Örneğin:

  • 41 puanla H oyuncusu en yüksek puan değerine sahip olduğundan 1. sırayı alır.
  • 40 puanla C oyuncusu ikinci en yüksek puan değerine sahip olduğundan 2. sırayı alır.

Ve benzeri.

Puan sütunundaki değerleri azalan sırada sıralamak için Rank yönteminin son argümanını 0’dan 1’e değiştirebiliriz:

 SubRankValues ()
    Dim i As Integer

    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 1)
    Next i
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Puan sütunundaki her değerin sıralaması C sütununda görüntülenir.

Örneğin:

  • 11 puana sahip Oyuncu I en düşük puan değerine sahip olduğundan 1. sırayı alır.
  • 13 puana sahip E oyuncusu ikinci en düşük puan değerine sahip olduğundan 2. sırayı alır.

Ve benzeri.

Not : VBA Rank yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Belirli bir metin içeren hücreler nasıl sayılır?
VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir