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

问题描述

我不确定为什么会收到错误消息。基本上,我的代码从 Userform 读取用户输入,然后根据选择进行自动过滤。

Sub Review()

   Dim wb As Workbook: Set wb = ThisWorkbook
   Dim MasterList As Worksheet
   Set MasterList = wb.Sheets("Locations")
   SelectItem = "Full Fee Amount & Mutual Fund"
   RowCountTotal = 1

    If SelectItem = "Full Fee Amount & Mutual Fund" Then
    
        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=6, Criteria1:= _
            "Full Fee Amount"
        ActiveWindow.SmallScroll Down:=-99
        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=7, Criteria1:= _
            "Mutual Fund Redemption"
            
    ElseIf SelectItem = "Full Fee Amount & Cash Transfer" Then
    
        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=6, Criteria1:= _
            "Full Fee Amount"
        ActiveWindow.SmallScroll Down:=-99
        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=7, Criteria1:= _
            "Cash Transfer"
    
    ElseIf SelectItem = "Outstanding Amount & Cash Transfer" Then
        
        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=6, Criteria1:= _
            "Outstanding Amount Only"
        ActiveWindow.SmallScroll Down:=-99
        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=7, Criteria1:= _
            "Cash Transfer"
    
    ElseIf SelectItem = "Outstanding Amount & Mutual Fund" Then

        MasterList.Range("$A$1:$AB$" & RowCountTotal).AutoFilter Field:=6, Criteria1:= _
            "Outstanding Amount Only"
        ActiveWindow.SmallScroll Down:=-99
        MasterList.Range("$A$1:$AB$1").AutoFilter Field:=7, Criteria1:= _
            "Mutual Fund Redemption"
    
    Else
        MsgBox "Error Selecting. Program will now exit"
        Exit Sub
    End If

我收到错误

运行时错误 1004 - 范围类的自动筛选方法失败

一旦我尝试执行自动过滤器。当我没有任何 if 语句时,它更早地工作,但现在它有问题。我应该怎么做才能解决这个问题?

标签: excelvba

解决方案


推荐阅读