Tip singkat berikut ini akan menjelaskan cara filter data di excel dengan macro, adapun data yang akan difilter berupa tanggal diantara dua tanggal. Seperti yang ditunjukkan pada gambar di bawah ini, suatu contoh worksheet dimana terdapat tabel A5:E19 yang mengacu pada kriteria filter tanggal di sel B2 dan D2.

cara filter data di excel dengan macro

Adapun format sel tanggal pada worksheet tersebut adalah [$-421]d mmmm yyyy;@ melalui kotak dialog Format Cells > Number > Custom dengan terlebih dahulu menekan tombol CTRL+1 pada keyboard. Berikut ini susunan kode yang dapat anda buat pada module baru:
Sub FilterDuaTanggal()
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
Dim TanggalAwal As Date, TanggalAkhir As Date
Dim FilterTanggalAwal As Date, FilterTanggalAkhir As Date
Dim BarisAkhir As Long
Dim FilterBaris As Range
TanggalAwal = Range("B2").Value
TanggalAkhir = Range("D2").Value
BarisAkhir = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Set FilterBaris = Range("A5:A" & BarisAkhir)
FilterTanggalAwal = _
DateSerial(Year(TanggalAwal), Month(TanggalAwal), Day(TanggalAwal) - 1)
FilterTanggalAkhir = _
DateSerial(Year(TanggalAkhir), Month(TanggalAkhir), Day(TanggalAkhir) + 1)
FilterBaris.AutoFilter _
Field:=1, Criteria1:=">" & CDbl(FilterTanggalAwal), _
Operator:=xlAnd, _
Criteria2:="<" & CDbl(FilterTanggalAkhir)
Set FilterBaris = Nothing
Application.ScreenUpdating = True
End Sub