Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 筛选以仅显示单元格中输入的日期之后的数据_Excel_Vba_Date_Filtering - Fatal编程技术网

Excel 筛选以仅显示单元格中输入的日期之后的数据

Excel 筛选以仅显示单元格中输入的日期之后的数据,excel,vba,date,filtering,Excel,Vba,Date,Filtering,我有一个数据集,我只想显示指定日期之后的数据。 该日期将由最终用户定义。我可以这样做的数字,但一旦我尝试这样做的日期宏运行,结果是没有数据显示 我的数据表称为“数据” 中包含日期的列是第8列(字段8) 我想要定义我得到的数据的输入日期在单元格H1中 我在英国(也许这有影响?) 我不想开始转换基础原始数据 我想我是在拼命地想让H1细胞被视为一个约会对象 代码如下: Sub Macro_show_data_after_inputted_date Sheets("Data").Select

我有一个数据集,我只想显示指定日期之后的数据。 该日期将由最终用户定义。我可以这样做的数字,但一旦我尝试这样做的日期宏运行,结果是没有数据显示

我的数据表称为“数据” 中包含日期的列是第8列(字段8) 我想要定义我得到的数据的输入日期在单元格H1中 我在英国(也许这有影响?) 我不想开始转换基础原始数据

我想我是在拼命地想让H1细胞被视为一个约会对象

代码如下:

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