Excel 筛选以仅显示单元格中输入的日期之后的数据
我有一个数据集,我只想显示指定日期之后的数据。 该日期将由最终用户定义。我可以这样做的数字,但一旦我尝试这样做的日期宏运行,结果是没有数据显示 我的数据表称为“数据” 中包含日期的列是第8列(字段8) 我想要定义我得到的数据的输入日期在单元格H1中 我在英国(也许这有影响?) 我不想开始转换基础原始数据 我想我是在拼命地想让H1细胞被视为一个约会对象 代码如下:Excel 筛选以仅显示单元格中输入的日期之后的数据,excel,vba,date,filtering,Excel,Vba,Date,Filtering,我有一个数据集,我只想显示指定日期之后的数据。 该日期将由最终用户定义。我可以这样做的数字,但一旦我尝试这样做的日期宏运行,结果是没有数据显示 我的数据表称为“数据” 中包含日期的列是第8列(字段8) 我想要定义我得到的数据的输入日期在单元格H1中 我在英国(也许这有影响?) 我不想开始转换基础原始数据 我想我是在拼命地想让H1细胞被视为一个约会对象 代码如下: Sub Macro_show_data_after_inputted_date Sheets("Data").Select
Sub Macro_show_data_after_inputted_date
Sheets("Data").Select
Range("C15").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$AJ$2875").AutoFilter Field:=8, Criteria1:=">" & Range("H1"), _
Operator:=xlAnd
End Sub
这是一个数字格式问题。希望其条件的格式与其筛选的值的格式相同。可以使用检索单元格的显示值(也称为格式化文本)
如果您记录了相同的操作并故意错误键入日期格式,您将在生成的记录代码中看到它在用作字符串标准之前是正确的。您需要将H列中的数字格式复制到H1中,并使用
Criteria1:=“>”&范围(“H1”).Text
谢谢Jeeped的帮助。有趣的是,我的数据是dd-mmm-yyyy格式的,例如2015年12月14日。我假设(从未假设)是一种日期格式,尽管是一种自定义的日期格式。但是,出于这些目的,它不像常规的日期格式。但是您的.text输入修复了这个问题。对于阅读本文的其他人,我的最终代码也可以整理一下。请参见下面的:工作表(“数据”)。选择ActiveSheet.Range($A$4:$AJ$2875”)。自动筛选字段:=8,标准1:=“>”&范围(“H1”)。文本,u运算符:=xlAnd
Sub Macro_show_data_after_inputted_date
with Sheets("Data")
if .autofiltermode then .autofiltermode = false
with .Range("C15")
.AutoFilter Field:=8, Criteria1:=">" & .Range("H1").TEXT
end with
end with
End Sub