应用自动筛选后,我的数据没有显示。
如果我手动应用相同的过滤器,数据会正确显示。
Private Sub FilteringReport()
Workbooks.Open Filename:="C:\Users\benesjan\Desktop\Benes_jan\Excel_VBA\test_file\preventive_report.xlsx"
Workbooks("preventive_report.xlsx").Sheets("Sheet1").Activate
'Todays date, or custom date
If Workbooks("PMM_reports.xlsm").Sheets("Sheet1").CheckBox1.Value = True Then
edate = Worksheets("Sheet1").Range("B6").Value
Else
uedate = Now()
edate = Format(uedate, "dd.mm.yyyy")
End If
MsgBox edate
'edate is 10.08.2022
With Sheets("Sheet1")
.Range("A:J").AutoFilter Field:=5, Criteria1:=""
.Range("A:J").AutoFilter Field:=7, Criteria1:="<" & edate
End With
End Sub
我正在筛选此表
第一个过滤器工作并返回
应用第二个过滤器后得到
如果我手动单击“确定”,它会重新应用它,并自行刷新并开始工作。刷新整个工作簿或重新应用筛选器不起作用,甚至录制的宏也不起作用。
1条答案
按热度按时间mnemlml81#
经过一些修改后,代码如下所示。
格式化
Now()
函数导致数据无法正确过滤,通过使用Date
函数,我能够使过滤器工作。谢谢 Foxfire And Burns And Burns