Метод автоматического фильтра класса диапазона не удался - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь написать код для фильтрации и вставки данных из таблицы. Проблема в том, что я получаю сообщение об ошибке «Метод автофильтрации класса диапазона завершился ошибкой с критериями» в этой строке:

 wsS1.Cells.AutoFilter Field:=5, Criteria1:=tempCriteria

Может кто-нибудь указать, в чем проблема?

Спасибо

Sub FilterBats()
    Dim wsS1 As Worksheet
    Dim wsS2 As Worksheet
    Dim wsS3 As Worksheet
    Dim lastrow As Long
    Dim lastrow2 As Long
    Dim tempCriteria As String


    Set wsS1 = Sheets("BallByBallBatting")
    Set wsS2 = Sheets("Summary")
    Set wsS3 = Sheets("FilteredBats")


    Application.ScreenUpdating = False

    lastrow2 = wsS3.Range("A" & Rows.Count).End(xlUp).Row
    wsS3.Range("A1:N" & lastrow2).Delete

    tempCriteria = wsS2.Range("F3").Value

    wsS1.Cells.AutoFilter Field:=5, Criteria1:=tempCriteria


        lastrow = wsS1.Range("A" & Rows.Count).End(xlUp).Row

'
        wsS1.Range("A1:N" & lastrow).Copy wsS3.Range("A1")
        wsS1.AutoFilter.ShowAllData

        ActiveWorkbook.Sheets("Summary").Activate

        Application.ScreenUpdating = True

End Sub

1 Ответ

0 голосов
/ 16 марта 2020

Вместо wsS1.Cells.AutoFilter попробуйте выделить диапазон, не используя все ячейки листа ...

Примерно так: wsS1.Cells(1, 1).AutoFilter должно работать.

Это, безусловно, будет работать, если заголовки столбцов находятся в первом ряду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...