Encontrei e modifiquei o código abaixo para remover todas as linhas que não contêm "NHO_Global" na coluna F, mas exclui tudo (embora deixe a linha do cabeçalho).
O que fiz de errado e como posso consertar? Preciso deixar apenas as linhas que contêm "NHO_Global" na coluna F (simplesmente filtrar não funcionará para meus propósitos - elas precisam ser excluídas).
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
ATUALIZAÇÃO: acontece que ter filtros ativados (mesmo sem nenhum aplicado) era o problema. A desativação dos filtros permitiu que o código fosse executado conforme esperado.