Bagaimana cara mengurutkan rentang di vba?
Untuk mengurutkan rentang sel menggunakan VBA, Anda perlu menggunakan metode “SORT” yang memungkinkan Anda mengatur satu kunci (kolom) atau beberapa kunci (untuk beberapa kolom) untuk mengurutkan. Anda juga dapat mengatur urutan (menaik atau menurun) yang ingin Anda urutkan, dan Anda dapat menentukan apakah Anda memiliki header atau tidak.
Urutkan rentang dengan VBA
- Gunakan objek rentang untuk menentukan rentang yang ingin Anda urutkan.
- Ketik titik dan masukkan metode pengurutan.
- Tentukan kunci yang ingin Anda gunakan untuk mengurutkan.
- Tetapkan urutan pengurutan.
- Sebutkan apakah Anda memiliki header atau tidak.
Range("A1:A11").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Header:=xlYes
Dalam kode di atas Anda menggunakan rentang A1:A11, dan dalam metode pengurutan Anda menggunakan urutan menaik, disebutkan bahwa Anda memiliki header dalam rentang tersebut.
Memahami metode pengurutan VBA
Sebelum menulis makro untuk mengurutkan suatu rentang, yang terbaik adalah mempelajari metode pengurutan dan memahami argumennya.
Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, _ Header, OrderCustom, MatchCase, Orientation, SortMethod, _ DataOption1, DataOption2, DataOption3)
Berikut adalah argumen terpenting yang akan Anda gunakan dalam kehidupan nyata.
- Kunci : Di sini Anda perlu menentukan sel yang kolomnya ingin Anda gunakan sebagai dasar pengurutan.
- Urutan : Urutan kolom yang ingin Anda urutkan (ascending/descending).
- Header : Sebuah konstanta untuk menentukan apakah Anda memiliki header atau tidak atau ingin VBA menebaknya.
Urutkan dalam urutan menurun
Pada kode berikut, saya menggunakan ‘xlDescending’ untuk mengurutkan kolom jumlah dalam urutan menurun.
Range("A1:A13").Sort Key1:=Range("A1"), _ Order1:=xlDescending, _ Orientation:=xlSortColumns
Menggunakan beberapa kolom (kunci) untuk mengurutkan
Anda juga dapat menggunakan beberapa kolom untuk mengurutkan rentang. Mari kita ambil contoh dari tabel di bawah ini di mana Anda memiliki beberapa entri dengan nama karyawan dan kota, dan Anda perlu mengurutkannya berdasarkan nama dan kota.
Berikut adalah kode yang perlu Anda gunakan:
Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Key2:=Range("B1"), _ Order1:=xlAscending, _ Header:=xlYes
Seperti yang Anda lihat di kode, Anda memiliki key1 dan key2. Di key1 Anda memiliki kolom dengan nama karyawan, dan di key2 Anda memiliki kolom kota. Untuk kedua kolom, urutannya menaik dan headernya ada.
Catatan: Anda dapat menggunakan ini sebagai kolom mana pun yang ingin Anda gunakan sebagai dasar pengurutan menggunakan kunci dan urutan.
Mengubah orientasi nasib
Saat Anda biasanya mengurutkan data di Excel, secara default Anda bisa mengurutkan menggunakan kolom. Namun dari opsi pengurutan, Anda dapat mengubah orientasi pengurutan dari kiri ke kanan, bukan dari atas ke bawah.
Demikian pula, Anda memiliki argumen dalam metode sortir untuk mengubah orientasi ( link ).
Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Orientation:=xlSortRows