F열에 "NHO_Global"이 포함되지 않은 모든 행을 제거하기 위해 아래 코드를 찾아 수정했지만 모든 항목이 삭제됩니다(단, 헤더 행은 그대로 유지됩니다).
내가 뭘 잘못했는데 어떻게 고칠 수 있나요? F열에 "NHO_Global"이 포함된 행만 남겨두어야 합니다. 필터링은 제 목적에 맞지 않으므로 삭제해야 합니다.
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
업데이트: 필터를 켜는 것(아무 것도 적용하지 않은 경우에도)이 문제인 것으로 나타났습니다. 필터를 끄면 코드가 예상대로 실행될 수 있습니다.