Vba: cara mengurutkan lembar berdasarkan beberapa kolom
Anda dapat menggunakan sintaks dasar berikut untuk mengurutkan lembar Excel berdasarkan beberapa kolom menggunakan VBA:
Sub SortMultipleColumns()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
Key2:=Range(" B1 "), Order2:=xlDescending, _
Header:=xlYes
End Sub
Contoh khusus ini mengurutkan sel dalam rentang A1:B11 terlebih dahulu berdasarkan nilai di kolom A dalam urutan menaik, kemudian berdasarkan nilai di kolom B dalam urutan menurun.
Perhatikan bahwa Header:=xlYes menetapkan bahwa baris pertama harus diperlakukan sebagai baris header.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Mengurutkan Lembar Excel berdasarkan Beberapa Kolom Menggunakan VBA
Katakanlah kita memiliki kumpulan data berikut di Excel yang berisi informasi tentang berbagai pemain bola basket:
Misalkan kita ingin mengurutkan dataset dengan cara berikut:
- Pertama, urutkan berdasarkan nilai pada kolom Tim dalam urutan menaik (A sampai Z).
- Selanjutnya urutkan berdasarkan nilai pada kolom Poin secara descending (dari terbesar ke terkecil).
Kita dapat membuat makro berikut untuk melakukan ini:
Sub SortMultipleColumns()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
Key2:=Range(" B1 "), Order2:=xlDescending, _
Header:=xlYes
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Baris sekarang diurutkan berdasarkan nama tim dalam urutan menaik dan berdasarkan poin dalam urutan menurun.
Catatan #1 : Dalam contoh ini, kami mengurutkan berdasarkan dua kolom. Namun, Anda dapat menentukan kunci sebanyak yang Anda inginkan untuk mengurutkan lebih banyak kolom.
Catatan #2 : Anda dapat menemukan dokumentasi lengkap metode pengurutan VBA di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
VBA: Cara menulis fungsi AVERAGEIF dan AVERAGEIFS
VBA: Cara menulis fungsi SUMIF dan SUMIFS
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS