首页 > 解决方案 > 基于已过滤列的过滤列

问题描述

我想得到您的帮助,我想根据在 Activesheet 上过滤的值从工作表“部件状态”中过滤 A 列的值。

使用此代码,它总是过滤“零件状态”中活动工作表中的所有值,我只想根据过滤后的值进行过滤。

你能告诉我我的代码错误在哪里吗?

Sub FilterTest1()

    Dim RngOne As Range, cell As Range
    Dim arrList() As String, lngCnt As Long
    
    With ActiveSheet
        Set RngOne = .Range("A6:A500")
    End With
    
    'load values into an array
    lngCnt = 0
    
    For Each cell In RngOne
        ReDim Preserve arrList(lngCnt)
        arrList(lngCnt) = cell.Text
        lngCnt = lngCnt + 1
    Next
    
    With Sheets("Parts Status")
        If .FilterMode Then .ShowAllData
        .Range("A11:A1000").AutoFilter Field:=1, Criteria1:=arrList, Operator:=xlFilterValues
    End With

End Sub

标签: excelvba

解决方案


设置 RngOne = .Range("A6:A500").SpecialCells(xlCellTypeVisible)


推荐阅读