excel - 根据今天的日期和特定时间范围过滤数据
问题描述
我的 Excel 表上有一组每天都会刷新的数据。我需要每天通过excel VBA自动将系统日期过滤为E列上的今天日期和F列上的系统时间,时间为0730到1930之间。我该怎么做?
我试过使用
Sub DateNTimeFilter()
Dim DateToday As Date
DateToday = Today()
Selection.AutoFilter
ActiveSheet.Range("E1:E").Autofilter Field=5, Operator:=x1Filtervalues, Criteria:=TodayDate
解决方案
您发布的代码存在许多问题。
全部清理后应该是这样的:
Sub DateNTimeFilter()
Sheet1.Range("A:E").AutoFilter Field:=5, Operator:=xlFilterValues, Criteria1:=Format(Date,"dd/mm/yyyy")
End Sub
首先,Today()
它不是标准的 VBA 函数,除非您编写了代码。改为使用Date
。
您也 dim DateToday
,但TodayDate
在您的自动过滤器中使用。
您还启动自动过滤器两次,一次用于选择,一次用于您的活动表范围 E1:E。第一位是多余的,因此可以省略。
您的范围E1:E
是不正确的范围,要么使用它,要么E:E
完全忽略它。由于您field:=5
已经使用了第 5 列(E)。
您拼写错误xlFilterValues
,忘记指定Criteria1
,因为您总是需要指定标准 1 或 2。
如果您使用的是今天的日期,则无需进行计算,因此您可以将其直接插入自动过滤器。我要添加的唯一内容是format
清理它并匹配您的日期书写方式的声明。
编辑:为此添加开始和结束时间比这更具挑战性,但下面应该这样做。
Sub DateNTimeFilter()
Dim in_time As Double, out_time As Double
in_time = Date + TimeValue("07:30")
out_time = Date + TimeValue("19:30")
Sheet1.Range("A:A").AutoFilter Field:=1, Operator:=xlAnd, Criteria1:=">=" & in_time, Criteria2:="<=" & out_time
End Sub
推荐阅读
- reactjs - Material UI 自动完成自定义 renderInput
- reactjs - 启用基于菜单链接的用户身份验证在 reactjs 中不起作用
- flutter - Flutter WebRTC 无法连接到对等点。无法设置远程应答 sdp:在错误状态下调用:kStable
- python - read_pdf FileNotFoundError:[Errno 2] 没有这样的文件或目录:在 Python 中
- c++ - 是否可以在 C++ 中的类和向量中存储一个 unique_ptr?
- c# - 是否可以在 WPF 的 MultiBinding QuickConverter 中使用带有参数的经典转换器?
- c - 如何用strtok函数替换字符-C?
- firebase - 理解 Firestore 安全规则 - 只允许更新某些字段
- python - 如何从python中的字符串中提取月份和年份?
- oauth-2.0 - 使用 EWS、OAuth2 和用户凭据访问用户邮箱