我希望根据用户友好的下拉框过滤我的日期表。
按照目前的情况,下拉框仅填充月份名称。 然后有一个隐藏的公式,将这些名称转移到单元格U4和U5中的2个日期。 日期是该月的第一天和月的最后一天。
我希望能够选择月份,然后单击按钮以过滤日期下面的列表对象表。
这是我目前的代码:
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
但是过滤器没有&#34;执行&#34; 我已经将细胞复制到V4和V5以查看这些公式是否与它有关,但没有任何乐趣。
答案 0 :(得分:0)
如果您从公式中选择日期,请采用原始基础值并直接转移它们。
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
我不确定是否可能会对过滤期间的开始和结束产生一些混淆,但我添加了一些工作表函数,以便正确排序。