想要一个先进的sortingfilter,search特定列中的字母的特定组合,而不考虑其后置和前置字母

这是我的数据集 在这里输入图像说明

现在,我希望所有的行都有红色filter组合到我的工作表2,而不pipe其前后的字母。 我想要这样的结果。

在这里输入图像说明

但只能使用下面的代码达到目的。 在这里输入图像说明

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 

试试这个小小的一段代码,基本上你在找的是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的filter值。 所以如果要过滤第一列中的“猕猴桃”,第二列中的“红色”,第三列中的“是”,则将这些值过滤到E1-E3中,并过滤这三个条件。 您可以轻松地更改目的地,您要粘贴数据的位置。

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