从自动筛选中排除excel筛选

从自动筛选中排除excel筛选,excel,vba,filter,Excel,Vba,Filter,此代码工作正常: Sheet2.UsedRange.AutoFilter 28, Bad_list_a(), xlFilterValues 但是我想从自动筛选中“排除坏列表a(),有什么建议吗?这是从自动筛选中排除数组的另一种方法 标题是一个数组,包含要从自动筛选中排除的值。在您的情况下,坏的列表是。 此代码将要筛选的列复制到sheet1,删除重复项 然后,它删除与titles数组匹配的所有单元格。最后,它将使用您需要的剩余值自动筛选列 titles = Array("string1

此代码工作正常:

Sheet2.UsedRange.AutoFilter 28, Bad_list_a(), xlFilterValues

但是我想从自动筛选中“排除坏列表a(),有什么建议吗?

这是从自动筛选中排除数组的另一种方法

标题是一个数组,包含要从自动筛选中排除的值。在您的情况下,坏的列表是。 此代码将要筛选的列复制到sheet1,删除重复项

然后,它删除与titles数组匹配的所有单元格。最后,它将使用您需要的剩余值自动筛选列

titles = Array("string1", "string2", "string3", "string4", "string5", "string6", "string7", "string8", "string9")
    .Columns(columnToFilter).Copy
        sheet1.Range("J1").PasteSpecial xlPasteValues
        sheet1.Range("J:J").RemoveDuplicates 1, xlYes
    
 Set rngTitle = macroSheet.Range("I:I")
    rngTitle.Value = Application.Transpose(titles)
    
    For Z = 1 To sheet1.Cells(Rows.Count, 10).End(xlUp).Row
    If Application.WorksheetFunction.CountIf(sheet1.Range("I:I"), sheet1.Cells(Z, 10).Value) > 0 Then
    sheet1.Cells(Z, 10).Delete
    Z = Z - 1
    End If
    Next Z
    
    lastrowMacro = macroSheet.Cells(Rows.Count, 10).End(xlUp).Row
    Set rngcrit = macroSheet.Range("J1:J" & lastrowMacro).SpecialCells(xlCellTypeVisible)
    vCrit = rngcrit.Value
    
    ''Apply filter for error values of title
    .Range("1:1").AutoFilter Field:=columnToFilter, Criteria1:=Application.Transpose(vCrit), Operator:=xlFilterValues
什么是坏列表?它是一个范围、一个数组还是一个字符串?此外,您不能在自动筛选中对数组使用“”,也可以使用一个包含要包含在筛选中的值的范围。@ScriptDeveloper其字符串(列表)