excel - 日期过滤器的用户输入
问题描述
我有一些 VBA 代码将日期过滤器应用于数据集以进行进一步的工作。目前,日期过滤器是根据预定义的条件应用的:
Worksheets("PSE Data").Activate
StartDate = DateSerial(Year(Date), Month(Date), Day(Date))
EndDate = DateSerial(Year(Date), Month(Date) + 3, Day(Date))
ActiveSheet.ListObjects("PSE_Data").Range.AutoFilter Field:=17, _
Criteria1:=">=" & StartDate, _
Operator:=xlAnd, _
Criteria2:="<=" & EndDate
ActiveSheet.ListObjects("PSE_Data").Range.AutoFilter Field:=6, _
Criteria1:="M"
With ActiveSheet.ListObjects("PSE_Data").Sort
.SortFields.Add Key:= _
Range("PSE_Data" & "[Sugg Start Date]"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Apply
End With
我想要做的是用弹出框中的用户输入值替换 StartDate 和 EndDate。你能帮忙吗?
解决方案
Here is a typical way:
Sub dural()
Dim StartDate As Date, EndDate As Date
With Application
StartDate = CDate(.InputBox(Prompt:="enter startdate mm/dd/yyyy", Type:=2))
EndDate = CDate(.InputBox(Prompt:="enter enddate mm/dd/yyyy", Type:=2))
MsgBox StartDate & vbCrLf & EndDate
End With
End Sub
推荐阅读
- javascript - 基于不同的键但相同的值合并2个对象数组
- testing - 如何在 Clojure 测试中停用日志?
- javascript - 如何从被调用函数中获得响应?
- machine-learning - 深度强化学习 (keras-rl) 提前停止
- sql - SQL 连接限制为 1 行,其中时间最旧的日期
- bash - 查找两个文件之间的所有匹配项,然后将字符附加到第二个文件中的所有匹配项的开头
- angular - 如何在 Angular 7 应用程序的 Edge 中查找错误源?
- powershell - 如何从批处理文件调用 powershell 脚本并将多个值返回到批处理文件?
- jquery - 用于 10-15 位电话号码验证的正则表达式
- umbraco - 母版页中的 Umbraco 字段