自动筛选仅返回两个数字之间的数据,但返回空白

问题描述

在使自动过滤器仅返回两个数字之间的数据时遇到麻烦,这些数字定义为变量,如下所示:

我的变量是Long,分别定义为上限和下限,在这种情况下分别为7和-500 ...

Dim daterangeUpr As Long
Dim daterangeLwr As Long

代码继续到变量的定义...

If ReleaseDatesReportBtnClick = True And reports.ComboBox13.Value = "This Week Only" Then
        daterangeUpr = 7
        daterangeLwr = -500

下面的代码 应该 返回一个自动过滤器,该过滤器仅显示7到-500之间的数据,但是仅调整了空白...

If filterColumn = 8 And ComboBox13.Value = "This Week Only" Or "Late Tasks Only" Then
        Range("A1:I10000").AutoFilter Field:=8,Criteria1:=daterangeUpr,Operator:=xlAnd,Criteria2:=daterangeLwr

解决方法

您当前的自动过滤器代码告诉VBA返回数据等于上限和下限,这就是为什么它返回空白的原因。

要在上限和下限之间返回数据,您需要按以下方式调整自动过滤器代码(请注意条件中的> =和

Range("A1:I10000").AutoFilter Field:=8,Criteria1:="<=" & dateRangeUpr,Operator:=xlAnd,Criteria2:=">=" & dateRangeLwr