Почему не работает макрос?

Мне нужно сделать фильтр по ячейке

Sub FilterTableByCellValue()
    Dim ws As Worksheet
    Set ws = ActiveSheet ' Работаем с активным листом '
    
    Dim filterColumn As Integer
    filterColumn = 9 ' Столбец "Название" имеет номер 2 '
    
    Dim filterCellValue As Variant
    filterCellValue = ws.Range("B1").Value ' Значение для фильтрации из ячейки A1 '
    
    Dim lastRow As Long
    lastRow = ws.Cells(ws.Rows.Count, filterColumn).End(xlUp).Row ' Последняя заполненная ячейка в столбце '
    
    ' Проверка на наличие данных в столбце '
    If lastRow > 0 Then
        ' Применение фильтра '
        ws.Range(ws.Cells(1, filterColumn), ws.Cells(lastRow, filterColumn)).AutoFilter _
            Field:=filterColumn, Criteria1:=filterCellValue
    Else
        MsgBox "Столбец '" & ws.Cells(1, filterColumn).Value & "' пустой."
    End If
End Sub
 ws.Range(ws.Cells(1, filterColumn), ws.Cells(lastRow, filterColumn)).AutoFilter _
            Field:=filterColumn, Criteria1:=filterCellValue

В этом месте ошибка

Microsoft Visual Basic for Applications Run-time error'1004': Application-defined or object-defined errorКод

Лист

Можете сделать еще, чтобы он одновременно фильтровал по всем зеленым ячейкам и их столбцах.


Ответы (0 шт):