Vba: cara mengklasifikasikan daftar nilai
Anda dapat menggunakan sintaks dasar berikut untuk mengurutkan daftar nilai di Excel menggunakan VBA:
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
Contoh khusus ini memberi peringkat pada nilai di sel B2:B11 dan menampilkan peringkat di sel C2:C11 .
Argumen terakhir 0 menetapkan bahwa nilai harus diberi peringkat dalam urutan menaik (nilai terbesar mendapat peringkat 1, nilai terbesar kedua mendapat peringkat 2, dll.).
Untuk mengurutkan nilai dalam urutan menurun, cukup ganti 0 dengan 1 .
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh : Cara Mengurutkan Nilai Menggunakan VBA
Misalkan kita memiliki daftar pemain bola basket berikut beserta poin yang mereka peroleh:
Misalkan kita ingin menghitung rangking setiap nilai pada kolom poin.
Kita dapat membuat makro berikut untuk melakukan ini:
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
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Pemeringkatan setiap nilai pada kolom poin ditampilkan pada kolom C.
Misalnya:
- Pemain H dengan 41 poin memiliki nilai poin tertinggi, sehingga mendapat peringkat 1 .
- Pemain C dengan 40 poin mempunyai nilai poin tertinggi kedua, sehingga mendapat peringkat 2 .
Dan seterusnya.
Untuk mengurutkan nilai pada kolom poin dalam urutan menurun, kita dapat mengubah argumen terakhir metode Rank dari 0 menjadi 1 :
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
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Pemeringkatan setiap nilai pada kolom poin ditampilkan pada kolom C.
Misalnya:
- Pemain I dengan 11 poin memiliki nilai poin terendah, sehingga mendapat peringkat 1 .
- Pemain E dengan 13 poin mempunyai nilai poin terendah kedua, sehingga mendapat peringkat 2 .
Dan seterusnya.
Catatan : Anda dapat menemukan dokumentasi lengkap untuk metode VBA Rank di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
VBA: Cara menghitung sel dengan teks tertentu
VBA: Cara menghitung jumlah baris dalam jangkauan
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS