我想根据用户友好的下拉框筛选我的表的日期。
目前,下拉框仅由月份名称填充。然后有一个隐藏的公式,将这些名称转换为单元格U4和U5中的两个日期。日期是一个月的第一天和最后一天。
我希望能够选择月份,然后单击按钮来筛选下面的日期列表对象表。
这是我当前的代码:
Sub Filters()
Range("U4", "U5").Copy
Range("V4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False`
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:=">=" & Range("V4").Value, Operator:=xlAnd, Criteria2:="<=" & Range("V5").Value, Operator:=xlAnd
End Sub
但过滤器不"执行"我已经将单元格复制到V4和V5,看看公式是否与之有关,但没有乐趣。
如果要从公式中获取日期,请获取原始基础值并直接传递它们。
With ActiveSheet
.Range("V4:V5") = .Range("U4:U5").Value2
.ListObjects("Table1").Range.AutoFilter '<~~turn off any previous filtering operation
.ListObjects("Table1").Range.AutoFilter Field:=2, _
Criteria1:=">=" & Application.Min(.Range("V4").Value2, .Range("V5").Value), _
Operator:=xlAnd, _
Criteria2:="<=" & Application.Max(.Range("V4").Value2, .Range("V5").Value)
End With
我不确定是否对要筛选的句点的开始和结束有一些混淆,但我添加了一些工作表函数,以便它们的顺序正确。