Dear Rekan - Rekan Master BEO,
Mohon bantuanya bagaimana cara memfilter data excel menggunakan Date and Time Picker
Salam,
Rizal
Dear Rekan - Rekan Master BEO,
Mohon bantuanya bagaimana cara memfilter data excel menggunakan Date and Time Picker
Salam,
Rizal
Silahkan dipelajari file terlampir mas @Rizal Setiawan ... ;)
Masih belum bisa mas pindah kalo kita ganti tanggal..
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... ;)