Я не очень хорошо разбираюсь в VBA. Я пытаюсь создать макрос, который фильтрует таблицу активного листа на 0 и «N / A». При запуске макроса я получаю ошибку «Аргумент не является обязательным» и ссылается на строку ws.Range.
Я просмотрел чужой код и не уверен, что именно я сделал неправильно.
Sub Remove_Cleared()
'
' Remove_Rows_Based_On_Value
'
'
Dim ws As Worksheet
Dim activeTable As String
activeTable = ActiveSheet.ListObjects(1).Name
MsgBox activeTable 'Make sure pulling correct table
'Set reference to the sheet in the workbook
Set ws = ActiveSheet
ws.Activate 'not required but allows user to view sheet if warning message
'clear any existing filters
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
'1 Apply Filter
ws.Range.AutoFilter Field:=8, Criteria1:="0", Operator:=xlOr, Criteria2:="N/A"
'2 Delete Rows
Application.DisplayAlerts = False
ws.Range(activeTable).SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'3 Clear Filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
End Sub
К концу макроса я хотел бы, чтобы любая строка, содержащая значение 0 или N / A, была удалена из таблицы активного листа.