Misal di worksheet , dimana ada data yang akan dihapus. mulai Sel A2 :
JENIS NAMA
HARGA
1
MINUMAN JUS JERUK
10,000
1
2
MINUMAN JUS JAMBU
12,000
2
3
MAKANAN SOTO AYAM
10,000
3
4
MINUMAN ES TEH
5,000
4
5
BUAH STRAWBERRY
25,000
5
6
MAKANAN BAKSO
10,000
6
72,000
Kriteria di worksheet Filternya , mulai sel B2 :
JENIS NAMA
HARGA
*MINUMAN*
>=6000
Maka yang akan di hapus ( memenuhi kriteria ) :
JENIS NAMA
HARGA
1
MINUMAN JUS JERUK
10,000
1
2
MINUMAN JUS JAMBU
12,000
2
22,000
hasil Data setelah penghapusan :
JENIS NAMA
HARGA
1
MAKANAN SOTO AYAM
10,000
1
2
MINUMAN ES TEH
5,000
2
3
BUAH STRAWBERRY
25,000
3
4
MAKANAN BAKSO
10,000
4
5
50,000
5
6
6
Adapun macronya : Sub Mc_AdvFilterDelete_1()
' UNTUK MENCEGAH WORKSHEET YG TIDAK SEHARUSNYA
Dim worksheetnya As Worksheet
Set worksheetnya = ActiveSheet
If UCase(worksheetnya.Name) <> "HAPUS" Then Exit Sub
Dim daerahfilter As Range
Sheets("Filternya").Activate
Range("B2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Set daerahfilter = Selection
Dim daerahData As Range
worksheetnya.Activate
Range("B2").Select
If ActiveSheet.AutoFilterMode Then
Selection.AutoFilter
End If
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Set daerahData = Selection
Selection.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
daerahfilter, Unique:=False
Dim jumbaris, jumkolom As Long
jumbaris = daerahData.Rows.Count - 1
jumkolom = daerahData.Columns.Count
Set daerahData = daerahData.Offset(1, 0).Resize(jumbaris, jumkolom)
Dim sel As Range
Dim bAlerts As Boolean
bAlerts = Application.DisplayAlerts
Application.DisplayAlerts = False
Dim strRow As String
For Each sel In daerahData.Rows
If Not (sel.Height = 0 Or sel.Hidden) Then
strRow = strRow & "," & sel.Address
End If
Next
If ActiveSheet.AutoFilterMode Then
Selection.AutoFilter
End If
' Tampilkan semua Data
ActiveSheet.ShowAllData
If strRow <> "" Then
Range(Mid(strRow, 2)).Select
Selection.Delete Shift:=xlUp
End If
Application.DisplayAlerts = bAlerts
End Sub
Kalau ingin hapus yang mengandung kol, tomat , dst , maka isi Filternya :
Nama
*kol*
*tomat*
*mangga*
*rambutan*
*kobis*
*bayam*
*jambu*
To: [email protected]: [email protected]
Date: Tue, 13 Mar 2012 18:46:19 +0700
Subject: [belajar-excel] Tanya VBA delete row dg kriteria tertentu
Dear Pakar
Bagaimana cara delete row yg mengandung kata tertentu
Missal di sheet 1 kolom B saya pingin menhapus row yg mengandung kata buah
kol
tomat
mangga
rambutan
kobis
bayam
jambu
Sebelum dan sesudahnya terima kasih
Salam
Ocha
--- Mods ---
Contoh workbook berisi data secukupnya akan lebih membantu.
Terutama, daftar nama buah yang menjadi kriteria.
------------