Filter Menggunakan Date and Time Picker

  1. 6 tahun lalu

    Dear Rekan - Rekan Master BEO,

    Mohon bantuanya bagaimana cara memfilter data excel menggunakan Date and Time Picker

    Salam,
    Rizal

  2. Caton

    20 Okt 2017 Terverifikasi Indonesia + 20.101 Poin

    Silahkan dipelajari file terlampir mas @Rizal Setiawan ... ;)

  3. Masih belum bisa mas pindah kalo kita ganti tanggal..

  4. Caton

    31 Okt 2017 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 6 tahun lalu oleh Caton

    Masih belum bisa mas pindah kalo kita ganti tanggal..

    Kalau yang mas @Rizal Setiawan maksudkan dengan kata pindah adalah memindahkan data dari tabel data ke area berbeda ketika tanggal pada kontrol DTP diubah, maka kode VBA yang saya susun memang tidak dimaksudkan untuk tujuan memindahkan data. Kode tersebut hanya bertujuan untuk menyaring baris pada tabel data sesuai nilai tanggal dari kontrol DTP. Sesuai:

    Mohon bantuanya bagaimana cara memfilter data excel menggunakan Date and Time Picker

    Kalau yang dimaksud belum pindah adalah tidak terjadi perubahan pada tabel data saat nilai tanggal dari kontrol DTP diubah, maka kemungkinannya adalah nilai tanggal dari kontrol DTP tidak ada yang cocok dengan tanggal pada kolom Pstng Date pada tabel data.

    Kode VBA yang saya susun tersebut hanya akan memfilter (menampilkan) baris pada tabel data jika nilai tanggal pada kolom Pstng Date cocok dengan nilai tanggal dari kontrol DTP. Dan oleh karena nilai tanggal pada kolom Pstng Date merupakan teks (bukan nilai tanggal yang valid sesuai aturan Excel, nilai 12.10.2017 seharusnya 12/10/2017 dalam format tanggal Excel), maka ada proses mengkonversikan nilai dari kontrol DTP menjadi sesuai dengan nilai pada kolom Pstng Date agar dapat dicari kecocokannya. Sehingga jika pada kolom Pstng Date diisi dengan nilai sesuai format tanggal Excel, maka proses filter tidak akan berhasil. Solusinya, ubah format tanggal pada kolom Pstng Date menjadi format tanggal yang sesuai dengan tanggal Excel, kemudian ubah kode baris pada prosedur Sub DTPicker21_Change() dari:

    Private Sub DTPicker21_Change()
        Dim xlRange As Range
        Dim sValue As String
        Dim lResult As Long
        
        sValue = Replace$(CStr(DTPicker21.Value), "/", ".")
        
        lResult = CLng(Application.WorksheetFunction.CountIf(Me.Range("FilterData"), sValue))
        If lResult Then
            Set xlRange = Me.Range("FilterData").Offset(-1, 0).Resize(Me.Range("FilterData").Rows.Count + 1, 1)
            xlRange.AutoFilter Field:=1, Criteria1:=sValue, VisibleDropDown:=False
        Else
            If Me.AutoFilterMode Then Me.AutoFilterMode = False
        End If
    
    End Sub

    menjadi:

    Private Sub DTPicker21_Change()
        Dim xlRange As Range
        Dim lResult As Long
        
        lResult = CLng(Application.WorksheetFunction.CountIf(Me.Range("FilterData"), DTPicker21.Value))
        If lResult Then
            Set xlRange = Me.Range("FilterData").Offset(-1, 0).Resize(Me.Range("FilterData").Rows.Count + 1, 1)
            xlRange.AutoFilter Field:=1, Criteria1:=CStr(DTPicker21.Value), VisibleDropDown:=False
        Else
            If Me.AutoFilterMode Then Me.AutoFilterMode = False
        End If
    
    End Sub

    Demikian... ;)

 

atau Mendaftar untuk ikut berdiskusi!