Cara Filter/Cari Data Berdasarkan Tanggal Menggunakan DTPicker Vba Excel

Pada kesempatan ini Admin akan mencoba share artikel mengenai Cara Filter/Cari Data Berdasarkan Tanggal Menggunakan DTPicker Vba Excel. Dengan membuat filtur filter/cari data berdasarkan tanggal pengguna aplikasi Vba Excel dapat menyeleksi data dalam kurun waktu tertentu.

Dalam beberapa aplikasi seperti aplikasi yang digunakan di supermarket, Aplikasi keuangan, Aplikasi Tabungan dan lainnya terdapat data dalam kurun waktu tertentu yang dapat difilter dengan tujuan membuat laporan berdasarkan dari tanggal hingga tanggal tertentu.

Filter Berdasarkan Tanggal Di UserForm Vba Excel
Filter Berdasarkan Tanggal Di UserForm Vba Excel 
Dengan membuat laporan berdasarkan kurun waktu dari tanggal hingga tanggal tertentu, laporan yang dihasilkan akan lebih rinci.

Pada dasarnya untuk membuat laporan berdasarkan tanggal pada Excel sudah terdapat fasilitas untuk menfilter dengan cara menempatkan mouse pada header tabel selanjutnya klik menu Data dan pilih Filter.

Dengan menggunakan langkah ini pada bagian header tabel sudah terdapat tombol panah kecil untuk dapat kita klik dan mencentang tanggal yang dinginkan dan membuang centang yang tidak diinginkan.

Hal tersebut dapat dapat dilakukan dengan mudah tanpa harus bersusah payah membuat UserForm, tombol-tombol dan element yang dibutuhkan serta penerapan dan penempatan kode yang tepat yang cendrung lebih sulit.

Namun beberapa orang yang suka berimajinasi dan mengembangkan aplikasi agar terlihat lebih profesional tentu akan lebih suka dan menyenangkan rasanya jika bersusah payah dengan kode dan UserForm agar mendapatkan hasil yang maksimal.

Bagi anda yang tidak ingin berimajinasi dan bersusah payah dengan penerapan kode lebih baik sampai disini saja membacanya. Agar anda tidak kebingungan. Apalagi yang membuat artikel merupakan pelajar otodidak.

Bagi anda yang ingin berimajinasi agar aplikasi yang sedang dibuat lebih terlihat profesional silahkan dilanjutkan.

Cara Filter/Cari Data Berdasarkan Tanggal Menggunakan DTPicker Vba Excel
  • Buka Excel dan ubah nama Sheet1 menjadi "Data" selanjutnya buatlah data data seperti yang terlihat pada tabel pada gambar format gif dibawah sebagai percobaan yang akan kita lakukan pada artikel ini. Ubah nama Sheet2 menjadi "Filter. Perhatikan gambar format gif dibawah ini. Atau anda dapat menyesuaikan nama sheet dengan kebutuhan aplikasi yang sedang anda buat. Ini hanya sekedar contoh penerapan saja. 
Properties Yang Dibutuhkan Filter Berdasarkan Tanggal 
  • Jika sudah membuat data dan nama sheet, selanjutkan kita akan bermain di Vba dengan cara klik pada tab Developer dan pilih Visual Basic atau dengan menekan tombol perintah pintasan keyboard Alt + F11 
  • Tambahkan element yang dibutuhkan untuk membuat aplikasi dengan Vba Excel yaitu UserForm1, Frame1, DTPicker1, DTPicker2, CommandButton1, ComammandButton2 dan ListBox1 
  • Sesuaikan properties UserForm1 dengan selera anda sendiri. Frame1 dengan warna anda sendiri, DTPicker1 dan DTPicker2 biarkan dengan standar propertiesnya, CommandButton1 ubah Caption saja menjadi "Cari" dan CommandButton2 ubah properties Caption dengan "Tampilkan Semua" 
  • Sementara untuk ListBox1 ubah warna sesuai dengan selera masing-masing. Namun perlu diperhatikan properties ListBox1 yang terdapat pada ColumnCount = 6, pada ColumnHeads = True, pada ColumnWidths = 80 pt;90 pt;80 pt;60 pt;80 pt;60 pt, dan pada RowSource = A2:F250. 
  • Jika proses perancangan di UserForm sudah selesai selanjutnya kita akan menempatkan kode pada bagian-bagian yang dibutuhkan. Copy dan pastekan kode berikut ini di jendela kode UserForm. Kode berikut ini berfungsi untuk menampilkan data yang ada pada sheet ke ListBox1. 
Sub TabelData()

    Set DataBaseNya = Sheets("Data")

    ListBox1.RowSource = ""

    With ListBox1

        .AddItem

        .List(.ListCount - 1, 0) = "NO ID NASABAH"

        .List(.ListCount - 1, 1) = "NAMA"

        .List(.ListCount - 1, 2) = "ID TRANSAKSI"

        .List(.ListCount - 1, 3) = "TANGGAL"

        .List(.ListCount - 1, 4) = "TRANSAKSI"

        .List(.ListCount - 1, 5) = "KETERANGAN"

        .ColumnWidths = 90 & ";" & 80 & ";" & 60 & ";" & 60 & ";" & 60 & ";" & 80

    End With

    With DataBaseNya

        Set RangeBase = DataBaseNya.Range("A2:A250").SpecialCells(xlCellTypeVisible)

        For Each SabotaseSaja In RangeBase

    With ListBox1

        .AddItem SabotaseSaja.Value

        .List(.ListCount - 1, 0) = SabotaseSaja.Value

        .List(.ListCount - 1, 1) = SabotaseSaja.Offset(0, 1).Value

        .List(.ListCount - 1, 2) = SabotaseSaja.Offset(0, 2).Value

        .List(.ListCount - 1, 3) = SabotaseSaja.Offset(0, 3).Value

        .List(.ListCount - 1, 4) = SabotaseSaja.Offset(0, 4).Value

        .List(.ListCount - 1, 5) = SabotaseSaja.Offset(0, 5).Value

    End With

        Next SabotaseSaja

    End With

End Sub

  • Copy dan pastekan kode berikut ini pada jendela kode UserForm1. Kode berikut ini berfungsi untuk perintah mengembalikan tampilan data setelah terjadi filter. Sehingga data yang sebelumnya hanya ditampilkan data yang telah difilter di ListBox1 akan dikembalikan menampilkan semua data di ListBox1.


Sub TampilkanSemua()
    Application.ScreenUpdating = False
    Sheet1.AutoFilterMode = False
    ListBox1.RowSource = ""
    Data = "A2:F250"
    ListBox1.ColumnCount = 6
    ListBox1.RowSource = Data
    With ListBox1
    .ColumnWidths = 80 & ";" & 90 & ";" & 80 & ";" & 80 & ";" & 80 & ";" & 80
    End With
     Sheet1.Range("A1:F1").AutoFilter
    ActiveWorkbook.Worksheets("Data").AutoFilter.Sort.SortFields.Clear
    Set RangeData = Sheet1.Range("C1")
        RangeData.Sort RangeData.Resize(1, 1), xlAscending, Header:=xlYes, Orientation:=xlSortColumns
    Application.ScreenUpdating = True
End Sub

  • Pokoknya Copy dan pastkan saja kode berikut ini yang akan otomatis bekerja saat UserForm tampil.

Private Sub UserForm_Initialize()
    TabelData
    Sheets("Data").Range("A1:F1").AutoFilter
    TampilkanSemua
End Sub

  • Copy dan pastekan kode berikut ini pada CommandButton1 dengan Caption "Cari". Fungsi kode ini untuk memberikan perintah memfilter sesuai kreteria yang dimasukkan berdasarkan tanggal pada DTPicker1 dan DTPicker2.

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveWorkbook.Worksheets("Data").AutoFilter.Sort.SortFields.Clear
 Set RangeDataBase = Sheet1.Range("d1")
    RangeDataBase.Sort RangeDataBase.Resize(1, 1), xlAscending, Header:=xlYes, Orientation:=xlSortColumns

Sheet2.Range("A1").Value = DTPicker1.Value
Sheet2.Range("B1").Value = DTPicker2.Value
Sheets("Data").Range("D2:D102").AutoFilter Field:=4, _
    Criteria1:=">=" & Sheet2.Range("A1").Value, _
    Operator:=xlAnd, _
    Criteria2:="<=" & Sheet2.Range("B1").Value
    Call TabelData

Application.ScreenUpdating = True

End Sub

  • Copy lagi dong..!! dan pastekan kode berikut ini pada CommandButton2 dengan Caption "Tampilkan Semua". Kode berikut ini akan memanggil perintah Sub TampilkanSemua()

Private Sub CommandButton2_Click()
    TampilkanSemua
End Sub


Sudah itu saja kode-kode yang berkhasiat untuk filter atau pencarian data berdasarkan tanggal menggunakan DTPicker dan menampilkan hasil filter pada ListBox1.

Mohon maaf jika penyampaian Admin yang tidak memberikan penjelasan akurat. Admin sendiri bingung dengan kode-kode Vba Excel diatas.

Logikanya Khasiat dari kode-kode diatas telah Admin rasakan. Liat ajha gambar format gif yang diawal artikel sebagai buktinya.

Demikian yang dapat Admin sampaikan ala Otodidak tentang Cara Filter/Cari Data Berdasarkan Tanggal Menggunakan DTPicker Vba Excel. Semoga membantu dan menjadi referensi bagi yang sedang mencari informasi Cara Filter/Cari Data Berdasarkan Tanggal Menggunakan DTPicker Vba Excel.

Jika ada pertanyaan, saran dan kritikan dapat disampaikan melalui kolom komentar yang terdapat dibawah.

Jika artikel ini dirasakan ada manfaat mohon dapat dishare agar teman-teman lain juga tau tentang Khasiat kode vba ini.

Dapatkan dan miliki file contoh penerapan Vba Excel serta Aplikasi sederhana yang Admin sajikan di blog ini dengan cara menghubungi WA Admin dengan nomor 0811-6822-023.

Sedikit informasi tambahan tentang artikel ini, Admin tidak berhasil memperoleh khasiat kode-kode diatas jika kalender yang digunakan komputer menggunakan Indonesia. Namun berjalan lancar jika pengaturan kalender komputer menggunakan English State (US).

9 komentar untuk "Cara Filter/Cari Data Berdasarkan Tanggal Menggunakan DTPicker Vba Excel"

  1. Mas, SabotaseSaja itu maksudnya me-refer ke bagian mana ya? Saya coba jalankan sesuai petunjuk tapi kok error yaa

    BalasHapus
    Balasan
    1. Error biasanya karena tidak membaca paragraf terakhir dari artikel.

      Hapus
    2. Ini paragraf tarakhirnya...
      Sedikit informasi tambahan tentang artikel ini, Admin tidak berhasil memperoleh khasiat kode-kode diatas jika kalender yang digunakan komputer menggunakan Indonesia. Namun berjalan lancar jika pengaturan kalender komputer menggunakan English State (US).

      Hapus
  2. mau tanya
    itu di sheet keluar tanggalnya diapain gan ?
    tulis manual atau bagaimana

    BalasHapus
    Balasan
    1. sheet filter maksudnya gan....
      maaf baru belajar

      Hapus
    2. di sheet filter yang ditampilkan pada gambar gif merupakan tanggal berasal dari DtPicker1 dan DtPicker2

      Hapus
  3. kalo misal ga pake sheet2 langsung pake DTpicker bisa ga?soalnya liat code cuma buat nampung tanggal awal sama akhir saja

    yg code ini
    Sheet2.Range("A1").Value = DTPicker1.Value
    Sheet2.Range("B1").Value = DTPicker2.Value
    Sheets("Data").Range("D2:D102").AutoFilter Field:=4, _
    Criteria1:=">=" & Sheet2.Range("A1").Value, _
    Operator:=xlAnd, _
    Criteria2:="<=" & Sheet2.Range("B1").Value
    yg A1 diganti DTpicker1, B1 diganti DTpicker2

    BalasHapus
    Balasan
    1. bisa saja mas..! coba dilakukan experiment

      Hapus

Komentar Anda Sangat Menentukan Kelangsungan Blog ini