我知道我正在创建数组,并且之前使用过数组的自动过滤器代码,但由于某种原因,当我尝试使用动态数组进行过滤时只有我的数组的第一个值回来了。我从一张纸上已经过滤的列表中创建数组,然后转到另一张纸上,按照数组值进行过滤。因为你没有set
这是一个范围VBA:我如何过滤从单元格范围创建的数组
Dim StepArray As Variant
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(-4162).Row
StepArray = Range("C4:C" & LastRow).SpecialCells(xlCellTypeVisible).Value
Sheet2.Select
LastRow = Cells(Rows.Count, 1).End(-4162).Row
Range(Cells(1, 1), Cells(LastRow, 5)).AutoFilter Field:=4, Criteria1:=StepArray, Operator:=xlFilterValues
End Sub
在我的代码中,我转置了数组,过滤值存在,我不认为上述是必要的。我唯一的问题是过滤b y数组。 – BRCoder
我不明白你的意思。你写了_“我从已经过滤的列表中创建数组”_。那么,为了处理这个问题,你需要按照我的代码(或等价物)行事。所以无论你是否需要一个不连续(过滤)范围内的数组,或者你不需要。 – user3598756
我有我想要的所有值在我的阵列中,我似乎无法在第二张自动过滤器中过滤它们 – BRCoder