xxxx를 포함하지 않는 모든 행 삭제

xxxx를 포함하지 않는 모든 행 삭제

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

업데이트: 필터를 켜는 것(아무 것도 적용하지 않은 경우에도)이 문제인 것으로 나타났습니다. 필터를 끄면 코드가 예상대로 실행될 수 있습니다.

답변1

좋은 소식이있어. 문제는 코드가 아니라 데이터에 있습니다. 전에:

전에:

여기에 이미지 설명을 입력하세요

그리고 그 이후:

여기에 이미지 설명을 입력하세요

메모:

귀하의 칼럼을 확인하세요.에프값은 외부 문자로 인해 손상되지 않습니다!

관련 정보