如何制作两个标准,如果其中任何一个fullfil的代码将autofilter呢?

在这里输入图像说明

代码工作正常的单一标准。 我想根据OR条件的两个标准使其工作。 如果满足任何一个条件,它将自动过滤数据。

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

在同一行中先进的filter标准是AND连接,然而不同行中的标准是OR连接。

所以在Sheet1中的这个例子中

在这里输入图像说明

标准范围如下所示:

过滤如果

 Like = Yes AND Color <> Green AND Color <> Red OR Like = No AND Color = Green OR Like = No AND Color = Brown 

所以

 Sub FilterCopyToOtherSheet() With ThisWorkbook Set oWS1 = .Worksheets("Sheet1") Set oWS2 = .Worksheets("Sheet2") oWS2.Cells.ClearContents lLastRowTable = oWS1.Cells(oWS1.Rows.Count, 1).End(xlUp).Row lLastRowCrit = oWS1.Cells(oWS1.Rows.Count, 5).End(xlUp).Row oWS1.Range("A1:C" & lLastRowTable).AdvancedFilter _ Action:=xlFilterCopy, _ CriteriaRange:=oWS1.Range("E1:G" & lLastRowCrit), _ CopyToRange:=oWS2.Range("A1"), _ Unique:=False End With End Sub 

它导致

在这里输入图像说明

在Sheet2中。