pada artikel kali ini kami memberikan tutorial pembuatan vilter data dengan VBA excel
VBA filtering data dengan dua kriteria
Filter tanggal dengan hasil diantara dua tanggal
Filter data format tanggal dengan macro
Filter tanggal dengan hasil diantara dua tanggal
Filter data format tanggal dengan macro
Lihat gambar berikut ini
VBA filter data dengan userform - Silahkan anda download terlebih dahulu design userformnya dibwah pada link dibwah ini
Setelah itu copy pastekan saja seluruh kode macro ini
Sub TampilkanSemua()
Set wsDtbsPlgn = Sheets("Sheet1")
listCari.Clear
With listCari
.AddItem
.List(.ListCount - 1, 0) = "NO"
.List(.ListCount - 1, 1) = "NIK"
.List(.ListCount - 1, 2) = "NAMA SISWA"
.List(.ListCount - 1, 3) = "L/P"
.List(.ListCount - 1, 4) = "WALI MURID"
.ColumnWidths = 35 & ";" & 85 & ";" & 100 & ";" & _
30 & ";" & 90
End With
With wsDtbsPlgn
Set rgTampil = wsDtbsPlgn.Range("Nomor"). _
SpecialCells(xlCellTypeVisible)
For Each sTampil In rgTampil
With listCari
.AddItem sTampil.Value
.List(.ListCount - 1, 0) = sTampil.Value
.List(.ListCount - 1, 1) = sTampil.Offset(0, 1).Value
.List(.ListCount - 1, 2) = sTampil.Offset(0, 2).Value
.List(.ListCount - 1, 3) = sTampil.Offset(0, 3).Value
.List(.ListCount - 1, 4) = sTampil.Offset(0, 4).Value
End With
Next sTampil
End With
End Sub
Set wsDtbsPlgn = Sheets("Sheet1")
listCari.Clear
With listCari
.AddItem
.List(.ListCount - 1, 0) = "NO"
.List(.ListCount - 1, 1) = "NIK"
.List(.ListCount - 1, 2) = "NAMA SISWA"
.List(.ListCount - 1, 3) = "L/P"
.List(.ListCount - 1, 4) = "WALI MURID"
.ColumnWidths = 35 & ";" & 85 & ";" & 100 & ";" & _
30 & ";" & 90
End With
With wsDtbsPlgn
Set rgTampil = wsDtbsPlgn.Range("Nomor"). _
SpecialCells(xlCellTypeVisible)
For Each sTampil In rgTampil
With listCari
.AddItem sTampil.Value
.List(.ListCount - 1, 0) = sTampil.Value
.List(.ListCount - 1, 1) = sTampil.Offset(0, 1).Value
.List(.ListCount - 1, 2) = sTampil.Offset(0, 2).Value
.List(.ListCount - 1, 3) = sTampil.Offset(0, 3).Value
.List(.ListCount - 1, 4) = sTampil.Offset(0, 4).Value
End With
Next sTampil
End With
End Sub
Private Sub txtNama_Change()
Set wsDtbsPlgn = Sheets("Sheet1")
Set rgDtbsPlgn = wsDtbsPlgn.Range("Sheet1")
Set rgAdvFilter = wsDtbsPlgn.Range("H2:H3")
With wsDtbsPlgn.Range("NamaSiswa")
Set c = .Find(txtNama.Value, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Nama " & txtNama.Value & " tidak ditemukan", _
vbOKOnly, "Nama Pelanggan Tidak Ada"
listCari.Clear
txtNama.Value = ""
txtNama.SetFocus
Exit Sub
Else
wsDtbsPlgn.Range("H3").Value = "*" & txtNama.Value & "*"
rgDtbsPlgn.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=rgAdvFilter
Call TampilkanSemua
End If
End With
If wsDtbsPlgn.FilterMode Then
wsDtbsPlgn.ShowAllData
End If
End Sub
Private Sub cmdKeluar_Click()
Unload Me
End Sub
Set wsDtbsPlgn = Sheets("Sheet1")
Set rgDtbsPlgn = wsDtbsPlgn.Range("Sheet1")
Set rgAdvFilter = wsDtbsPlgn.Range("H2:H3")
With wsDtbsPlgn.Range("NamaSiswa")
Set c = .Find(txtNama.Value, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Nama " & txtNama.Value & " tidak ditemukan", _
vbOKOnly, "Nama Pelanggan Tidak Ada"
listCari.Clear
txtNama.Value = ""
txtNama.SetFocus
Exit Sub
Else
wsDtbsPlgn.Range("H3").Value = "*" & txtNama.Value & "*"
rgDtbsPlgn.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=rgAdvFilter
Call TampilkanSemua
End If
End With
If wsDtbsPlgn.FilterMode Then
wsDtbsPlgn.ShowAllData
End If
End Sub
Private Sub cmdKeluar_Click()
Unload Me
End Sub
Private Sub UserForm_Activate()
Call TampilkanSemua
End Sub
Call TampilkanSemua
End Sub
oke sekian dulu artikel cara membuat filter data dengan userform
sumber : wasis