在另一个工作表中使用数组条件自动过滤

时间:2021-02-11 09:47:18

标签: arrays excel vba criteria autofilter

我正在尝试使用自动过滤器来过滤一张纸上的数据,而另一张纸上的标准。标准是动态的,所以我引用了单元格而不是“文本”标准。这适用于所有其他条件,但日期除外。

我通过使用数组条件解决了这个问题,但是我不确定如何引用条件所在的工作表。

这是我当前的代码。所以这里最好是,标准在工作表(“工作表”)中,日期是一个单元格而不是一个固定的日期。

'
' data_test_2 Macro
'

'
    With Worksheets("LNG_PORTFOLIO_2023_SG_HIST").Range("A1")
    
    .AutoFilter Field:=28, Operator:=xlFilterValues, Criteria2:=Array(2, "1/1/2023")

End With
End Sub

以前,我将以下数据用于非日期标准,效果很好,但是当我引用包含日期标准的单元格时,过滤后的结果只是空白。 A2 是第二个工作表中的单元格,您可以在其中从下拉列表中选择日期作为条件。'


With Worksheets("LNG_PORTFOLIO_2023_SG_HIST").Range("A1")

.AutoFilter Field:=1, Criteria1:=Sheets("LNG_PORT_23_SG").Range("C2").Value
.AutoFilter Field:=22, Criteria2:=Sheets("LNG_PORT_23_SG").Range("D2").Value
.AutoFilter Field:=28, Criteria3:=Sheets("LNG_PORT_23_SG").Range("A2")
End With

End Sub```

0 个答案:

没有答案