首页 > 解决方案 > 如何在 VBA 中使用特定范围在 Excel 中同时过滤日期和时间

问题描述

Hy,我正在尝试过滤时间,然后将日期同时插入到两个不同的列中。两者都可以单独工作,但是当我一起使用它们时,只应用了一个文件。我正在使用以下表格。

在此处输入图像描述

我正在使用以下按钮代码:按钮过滤时间:

   Private Sub CommandButton1_Click()
   Dim lngStart As Long, lngEnd As Long
   Sheets("Location").Select
   lngStart = Range("C4").Value 'assume this is the start date
   lngEnd = Range("C6").Value 'assume this is the end date
   ActiveSheet.Range("$C$8:$C$10712").AutoFilter Field:=1, Criteria1:=">=" & Range("C4").Value, 
   Operator:=xlAnd, Criteria2:="<=" & Range("C6").Value   
   End Sub

下面给出的代码用于按钮“过滤日期”

Private Sub CommandButton3_Click()
Dim lngStart As Long, lngEnd As Long
   
   Sheets("Location").Select
   lngStart = Range("D4").Value 'assume this is the start date
   lngEnd = Range("D6").Value 'assume this is the end date
   ActiveSheet.Range("$D$8:$D$10712").AutoFilter Field:=1, Criteria1:=">=" & Range("D4").Value, Operator:=xlAnd, Criteria2:="<=" & Range("D6").Value
   
End Sub

按钮按钮工作正常,但只有一个按钮同时工作。例如,我想过滤从上午 11:30:00 到下午 2:32:00 的时间和从 2020 年 1 月 2 日到 2020 年 1 月 8 日的日期。我将首先单击将成功过滤的时间,但是当我单击过滤日期时,它仅过滤第一个日期 2020 年 1 月 2 日。请检查我在哪里做错了。谢谢

标签: excelvba

解决方案


推荐阅读