Saya memiliki tabel data besar yang memiliki tanggal di bagian atas. Filter ini dihidupkan. Saya perlu mengurutkan data ini (terbesar ke terkecil) berdasarkan tanggal yang dimasukkan ke bidang yang ditentukan pengguna. Tapi saya tidak tahu bagaimana membuat ini dinamis.
Jadi katakan saya memiliki 12 kolom dengan bulan di bagian atas masing-masing dan kemudian satu set angka di bawah ini. Jika saya memasukkan Feb ke sel tertentu, saya ingin excel untuk mengurutkan berdasarkan Feb colum dari terbesar ke terkecil. Jika saya kemudian mengubah sel Feb ke Mei saya ingin mengurutkan pada data Mei
Tolong bantu
microsoft-excel
simon
sumber
sumber
Jawaban:
Seperti yang saya pahami, Anda memiliki satu set data bulanan yang akan saya anggap rentang Januari hingga Desember, dengan data setiap bulan tercantum dalam kolom terpisah dan dengan sel header. Anda ingin dapat menyortir kumpulan data ini berdasarkan pada nilai terbesar ke nilai terkecil di bulan tertentu, dengan bulan yang dipilih oleh entri ke sel di lembar kerja.
Meskipun dimungkinkan untuk menghasilkan tampilan nilai yang diurutkan dalam set data menggunakan rumus lembar kerja, set data itu sendiri tidak akan diurutkan dan perlu disaring.
Menggunakan VBA akan memungkinkan pendekatan yang jauh lebih sederhana yang memiliki manfaat tambahan karena dapat menangani data yang difilter.
Saya berasumsi bahwa entri bulan untuk mengurutkan berdasarkan akan berada di sel
A1
, yang telah dinamaisort_month
. Data, termasuk tajuk untuk nama bulan, ada di kolomB
-M
. Rentang data dinamaifiltered_data
; dalam data contoh saya, ini adalah kisaranB1:M25
.Kode VBA yang akan melakukan penyortiran cukup pendek:
Subrutin ini akan berjalan secara otomatis setiap kali perubahan dilakukan
sort_month
(yaitu, selA1
). Masuk akal untuk menyiapkan validasi data pada sel ini untuk memastikan bahwa hanya nama bulan yang valid ("Jan", "Feb", dll.) Yang dapat dimasukkan ke dalam sel ini.Kode tidak boleh ditempatkan dalam modul VBA standar, tetapi sebaliknya harus dilampirkan ke lembar kerja. Panel kode untuk lembar kerja dapat diakses dengan mengklik kanan tab lembar kerja dan memilih "Lihat Kode". Kode kemudian dapat ditempelkan ke panel.
Meskipun mungkin berada di luar kebutuhan Anda, tabel sortir dapat dengan mudah diatur untuk penggunaan umum (yaitu, non-pengembang). Versi yang ditunjukkan di bawah ini memiliki validasi data drop-down untuk entri bulan, pemformatan tabel ditambahkan untuk keterbacaan, dan pemformatan bersyarat untuk menyorot kolom pengurutan.
sumber