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 dinamai sort_month. Data, termasuk tajuk untuk nama bulan, ada di kolom B- M. Rentang data dinamai filtered_data; dalam data contoh saya, ini adalah kisaran B1:M25.
Kode VBA yang akan melakukan penyortiran cukup pendek:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(Target, Range("sort_month")) Is Nothing) Then
Dim theMonth As Long
theMonth = month(DateValue("01-" & Range("sort_month").Value & "-1900"))
Range("filtered_data").Sort Key1:=Cells(1, theMonth + 1), _
Order1:=xlDescending, header:=xlYes
End If
End Sub
Subrutin ini akan berjalan secara otomatis setiap kali perubahan dilakukan sort_month(yaitu, sel A1). 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.
