想要一个高级排序过滤器来搜索特定列中的特定字母组合,而不考虑其 post 和前字母

Want an advanced sort filter that search for particular combination of letters in specific column irrespective of its post and pre letters

这是我的数据集

现在我希望所有具有红色过滤器组合的行到我的 sheet2 而不管其前字母和 post 字母。我想要这样的结果。

但只能使用下面的代码来实现。

Sub FilterCopyToOtherSheet()
'
    Sheets("Sheet1").Range("A1:C14").AdvancedFilter _
        Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Sheet1").Range("E1:E2"), _
        CopyToRange:=Sheets("Sheet2").Range("A1"), _
        Unique:=False

End Sub

在单元格 D2 中使用代码 =search($E$2,B2) 的辅助列,下拉公式并过滤结果如何? (当然你可以先修改一下公式,让它更漂亮。)

试试这段代码,基本上你要找的是 Criteria1:="*red*"

Sub filter
  With Sheets(1)
    LastRow = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A1:C1").AutoFilter
    .Range("A2:C" & LastRow).AutoFilter Field:=1, Criteria1:="*" & .Range("E1") & "*"
    .Range("A2:C" & LastRow).AutoFilter Field:=2, Criteria1:="*" & .Range("E2") & "*"
    .Range("A2:C" & LastRow).AutoFilter Field:=3, Criteria1:="*" & .Range("E3") & "*"
    .Range("A1:C" & LastRow).Copy Sheets(2).Range("A1")
    .ShowAllData
  End With
End Sub

编辑

您可以做的是分别使用单元格 E1、E2、E3 作为第 1、2、3 列的筛选值。因此,如果您想在第 1 列中筛选 "kiwi",在第 2 列中筛选 "red" 并在第 3 列中筛选 "Yes",请将这些值放入 E1-E3,它将筛选这 3 个条件。您可以轻松更改目的地,将数据粘贴到的位置。