Почему не работает макрос?
Мне нужно сделать фильтр по ячейке
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
Можете сделать еще, чтобы он одновременно фильтровал по всем зеленым ячейкам и их столбцах.