Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 范围类的VBA自动筛选方法失败_Excel_Vba - Fatal编程技术网

Excel 范围类的VBA自动筛选方法失败

Excel 范围类的VBA自动筛选方法失败,excel,vba,Excel,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&qu

我不知道为什么我会出错。基本上,我的代码从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语句时工作,但现在它有问题。我应该怎么做才能解决这个问题?

以及什么是
RowCountTotal
?当错误出现时,它是一个数字吗?在这个例子中,为什么需要
SmallScroll Down
?运行时错误1004-range类的autofilter方法failedRowCount total是工作表的总长度,是的,我应该删除SmallScroll Down。我尝试了自动筛选的A1:AB1范围,但这仍然给了我一个错误尝试使它成为一个,这意味着如果有人复制和粘贴您的代码将得到相同的错误。一个好主意是对值进行硬编码,如
RowCountTotal
,只保留其中一个条件,即产生错误的条件,以便更容易地复制。好的,我添加了一些东西,idk,如果有帮助的话