По какой-то причине автофильтр не включает все строки с информацией.У меня есть около 40 строк с информацией, но он включает в себя только 15 из них (если вы можете видеть на рисунке, кажется, таблица автофильтрации ставит синие цифры строк)
Option Explicit
Private Sub Worksheet_Change(ByVal target As Range)
ActiveSheet.Unprotect
Application.EnableEvents = False
Dim sht As Worksheet
Dim LastRow As Long
Set sht = ActiveSheet
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
If target.Row = 1 Then
If target.Column > 1 Then
If target.Column = 5 Then
Cells(target.Row, 6).NumberFormat = "0"
Cells(target.Row, 9).NumberFormat = "General"
Cells(target.Row, 9).Value = "Figueira da Foz"
End If
End If
With ActiveSheet
Dim tableData As ListObject
Set tableData = .ListObjects("Tabela1")
If Not tableData Is Nothing Then
With Range("A3")
.AutoFilter Field:=1, VisibleDropDown:=False
.AutoFilter Field:=2, VisibleDropDown:=False
.AutoFilter Field:=3, VisibleDropDown:=False
.AutoFilter Field:=4, VisibleDropDown:=False
.AutoFilter Field:=5, Criteria1:="*" & Cells(target.Row, 5).Value & "*", VisibleDropDown:=False
.AutoFilter Field:=6, VisibleDropDown:=False
.AutoFilter Field:=7, Criteria1:="*" & Cells(target.Row, 7).Value & "*", VisibleDropDown:=False
.AutoFilter Field:=8, Criteria1:="*" & Cells(target.Row, 8).Value & "*", VisibleDropDown:=False
.AutoFilter Field:=9, VisibleDropDown:=False
If target.Column = 10 Then
If target.Value = vbNullString Then
.AutoFilter Field:=10, VisibleDropDown:=False
Else
.AutoFilter Field:=10, Criteria1:="" & Cells(target.Row, 10).Value, VisibleDropDown:=False
End If
End If
End With
End If
End With
End If
End Sub
, если я размещаю вместо С.Range («A3: A» и LastRow) выдаст ошибку «Ошибка во время выполнения« 1004 »: сбой метода автофильтра класса диапазона».Идея состояла в том, чтобы автофильтр фильтровал все данные до последней заполненной строки, а не только 15
, не знаю, как это исправить, кто-нибудь может мне помочь?