Я хочу удалить любую строку в таблице данных со значением ячейки в столбце B «3DO» или «DOS» и сдвинуть оставшиеся ячейки вверх.
Снимок экрана таблицы данных

Имя рабочей книги: StackOverflowTest.xlsm
Имя рабочей таблицы: Sheet1
Диапазон ячеек: A1: J100000
Столбец со значением:B
Значения для поиска: "3DO", "DOS"
Насколько я понимаю, следующий код VBA можно изменить для достижения этой цели:
Sub Delete_Rows_Based_On_Value()
'Apply a filter to a Range and delete visible rows
'Source: https://www.excelcampus.com/vba/delete-rows-cell-values/
Dim ws As Worksheet
'Set reference to the sheet in the workbook.
Set ws = ThisWorkbook.Worksheets("Regular Range")
ws.Activate 'not required but allows user to view sheet if warning message appears
'Clear any existing filters
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
'1. Apply Filter
ws.Range("B3:G1000").AutoFilter Field:=4, Criteria1:=""
'2. Delete Rows
Application.DisplayAlerts = False
ws.Range("B4:G1000").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'3. Clear Filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
End Sub
ОБНОВЛЕНИЕ:
Этот код из @ Harun24HR, кажется, помогает мне
Sub DelVisible()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("RAW")
ws.Range("$A$1:$J$100000").AutoFilter Field:=2, Criteria1:="=3DO", _
Operator:=xlOr, Criteria2:="=DOS"
ws.Range("$A$2:$J$100000").SpecialCells(xlCellTypeVisible).EntireRow.Delete
ws.Range("$A$1:$J$100000").AutoFilter
End Sub
Но теперь я хотел бы добавить больше критериев для поиска в этом утверждении, и мне неясно,как это сделать.Скажем, я ищу «3DO», «DOS» и «Mac», например, как бы я добавил критерии «Mac» в дополнение к этому утверждению?
Update # 2
Спасибо @ user11053804 У меня есть рабочее решение для поиска по критериям 3+
Sub RemoveOldPlatforms()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("RAW")
ws.Range("$A$1:$J$100000").AutoFilter Field:=2, Criteria1:=Array("3DO", "All Other", "DOS", "Mac"), Operator:=xlFilterValues
ws.Range("$A$2:$J$100000").SpecialCells(xlCellTypeVisible).EntireRow.Delete
ws.Range("$A$1:$J$100000").AutoFilter
End Sub