Насколько я понимаю, я могу использовать такой автоматический фильтр для удаления определенных строк, содержащих определенные строки, как показано ниже (в этом примере удаленная строка содержит строку «111-11111»).
Set ws = Sheets("Gate_Results")
Set rng1 = ws.Range(ws.[u1], ws.Cells(Rows.Count, "U").End(xlUp))
With ActiveSheet
.AutoFilterMode = False
rng1.AutoFilter Field:=1, Criteria1:="111-11111"
rng1.Offset(1, 0).EntireRow.Delete
.AutoFilterMode = False
End With
Однако мне было интересно, есть ли способ удалить строки, которые НЕ содержат критерии. Примером этого может быть, если строка ###-##### представляет коды продуктов, если я хочу отфильтровать свой список, чтобы увидеть только 3 разных продукта из библиотеки кодов, могу ли я использовать для этого функцию автофильтра , и если да то как?
Я уже пробовал следующий (и аналогичный пример, но &-ing в дополнительных строках в разделе критерии1), однако это вообще не сработало, но это были просто мои дилетантские догадки.
Set ws = Sheets("Gate_Results")
Set rng1 = ws.Range(ws.[u1], ws.Cells(Rows.Count, "U").End(xlUp))
With ActiveSheet
.AutoFilterMode = False
rng1.AutoFilter Field:=1, Criteria1:<>"111-11111"
rng1.Offset(1, 0).EntireRow.Delete
.AutoFilterMode = False
End With
Я был бы признателен за любую помощь в поиске рабочего метода, даже если он не включает автофильтр. Но эффективность будет оценена дополнительно. :D