F sütununda "NHO_Global" içermeyen tüm satırları kaldırmak için aşağıdaki kodu buldum ve değiştirdim, ancak her şeyi siliyor (başlık satırını yine de bırakıyor).
Neyi yanlış yaptım ve nasıl düzeltebilirim? Sadece F sütunundaki "NHO_Global" içeren satırları bırakmam gerekiyor (basitçe filtreleme amaçlarımla işe yaramaz - silinmeleri gerekir).
Sub KeepOnlyNHOGlobal()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Set ws = ActiveWorkbook.Sheets("NHO_Global")
lastRow = ws.Range("F" & ws.Rows.Count).End(xlUp).Row
Set rng = ws.Range("F1:F" & lastRow)
'Filter and delete all but the header row
With rng
.AutoFilter Field:=1, Criteria1:="<>NHO_GLOBAL"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
'Turn off the filters
ws.AutoFilterMode = False
End Sub
GÜNCELLEME: Filtrelerin açılmasının (hiçbiri uygulanmamış olsa bile) problem olduğu ortaya çıktı. Filtreleri kapatmak, kodun beklendiği gibi çalışmasına izin verdi.
AutoFilter Field:=1
, olması gerektiğiAutoFilter Field:=6
, senin kriterlerine beri kolon F içindedir ☺