问题描述
在使自动过滤器仅返回两个数字之间的数据时遇到麻烦,这些数字定义为变量,如下所示:
我的变量是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