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?