【发布时间】:2021-07-04 21:54:35
【问题描述】:
所以我正在做一个宏来从工作表中提取数据,但是,我需要它是最新的,因为我需要每天更新工作表,目前我每月更新一次。有没有办法我可以将(今天)/当前日期输入到宏中,这样我就不必在宏中每隔 m 更改一次。
这是我用的。
Sheets("Form1").Select
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2 'clear date
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=25 'clear status
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=9 'clear name
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=11 'clear before improvement
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Operator:= _
xlFilterValues, Criteria2:=Array(1, "4/1/2021") 'TBU, filter date(mar)
【问题讨论】:
-
Criteria:=Date可以完成这项工作。作为替代尝试Criteria:= Format(Date, "m/d/yyyy")或其变体。这取决于字段#2 包含的内容。无论哪种方式,Debug.Print Date都会以您计算机的国际设置中设置的“短日期”格式打印当前日期。 -
所以基本上,我需要按月计算数据,所以每个月底我都需要进入 marco 编辑第 mth 以便 vba 运行.. 所以而不是进入宏进行编辑,我可以从任何工作表或单元格中进行编辑,以便可以将其更新到我想要整理数据的月份吗?
-
您可以使用
Date或Format(Date, "mm/ddyyyy")代替Sheet1.Cells(2, "A").Value或Format(Worksheets("Sheet1").Cells(2, 1).Value, "mm/ddyyyy")之类的引用。 -
它不起作用..
-
您的评论没有用。请描述你做了什么以及它的结果。提醒您一下,您的问题是“有没有一种方法可以将(今天)/当前日期输入到宏中”。我向您展示了方法。现在的问题是您如何实施我的建议。