首页 > 解决方案 > 范围类的自动过滤方法失败

问题描述

我正在尝试编写一些代码来过滤和粘贴表中的数据。问题是我在此行上不断收到“范围类的自动过滤方法失败并符合标准”错误:

 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

标签: excelvba

解决方案


而不是wsS1.Cells.AutoFilter尝试分配一个范围,而不是使用所有的工作表单元格......

类似的东西:wsS1.Cells(1, 1).AutoFilter应该工作。

如果列标题在第一行,它肯定会起作用。


推荐阅读