使用下面的代码,这是整个宏的几行,但我需要能够轻松地更改日期criteria1
,而无需每次都手动执行。这是在月度报告工作表上。日期格式是从数据收集数据库生成的,无法更改。
是否存在能够通过使用宏来更改宏,宏中的行,特别是我的示例中的日期?
Sheets("Raw Data 3M").Select
Cells.Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveSheet.Range("$A$1:$I$1000").AutoFilter Field:=8, Criteria1:= _
"=2015 -10-October"
Range("A1:I5000").Select
Selection.Copy
Sheets("Raw Data").Select
Range("A1").Select
ActiveSheet.Paste
答案 0 :(得分:0)
Inglis的,
有几种方法可以做到这一点。
如果您想要我建议分发的最快捷方式(因为用户可能很愚蠢),只需将自动过滤条件设置为输入框:
ActiveSheet.Range("$A$1:$I$1000").AutoFilter Field:=8, Criteria1:= _
inputbox("Prompt","Title","=2015 -10-October")
只需用更合适的内容替换提示和标题。
您还可以使用输入框格式化根据需要输入的日期,但如果您不遵循特定格式,则代码将会出错。如:
Dim vDate as Variant
vDate = inputbox("Type a date in the format dd/mm/yyyy")
vDate = DateSerial(Mid(vDate, 7, 4), Mid(vDate, 4, 2), Mid(vDate, 1, 2))
vDate = "=" & Format(vDate, "yyyy -dd-mmmm")
ActiveSheet.Range("$A$1:$I$1000").AutoFilter Field:=8, Criteria1:=vDate
希望这有帮助!