自动筛选Excel 2003未筛选为零

自动筛选Excel 2003未筛选为零,excel,excel-2003,vba,Excel,Excel 2003,Vba,我有一个我认为非常简单的问题,设置一个自动过滤器来过滤零,我就是不能工作。 我在Excel2007中构建了一个启用宏的工作簿,该工作簿需要与2003 Excel兼容。在其中,我运行以下代码来应用并在当前选定的图纸上设置自动过滤器 范围5:E5。自动筛选字段:=3,标准1:=0 这在2007年如期发挥作用。在2003机器上进行测试时,Criteria1字段中未过滤任何内容-所有行保持未过滤/可见-但未给出任何错误。有什么原因吗?上面提到的标准1:=0没有起作用,即使这是03年机器记录的结果。最后,

我有一个我认为非常简单的问题,设置一个自动过滤器来过滤零,我就是不能工作。 我在Excel2007中构建了一个启用宏的工作簿,该工作簿需要与2003 Excel兼容。在其中,我运行以下代码来应用并在当前选定的图纸上设置自动过滤器

范围5:E5。自动筛选字段:=3,标准1:=0

这在2007年如期发挥作用。在2003机器上进行测试时,Criteria1字段中未过滤任何内容-所有行保持未过滤/可见-但未给出任何错误。有什么原因吗?

上面提到的标准1:=0没有起作用,即使这是03年机器记录的结果。最后,我通过检查应用程序版本号并运行下面的不同代码来解决这个问题,但如果数据集很大,我不会这样做。我知道这个特定的数据集不会很大

If Application.Version < 12 Then
            Range("ItemsTop").Select
            Range("A" & Range("A" & Rows.Count).End(xlUp).Row).Select
            ActiveCell.Offset(0, 2).Select
            Do While ActiveCell.Row > 7
                If Selection.Value = 0 Then
                    ActiveCell.EntireRow.Delete
                End If
                ActiveCell.Offset(-1, 0).Select
            Loop
            'Range("A5:E5").AutoFilter field:=3, Criteria1:="0"
        Else
            Range("A5:E5").AutoFilter field:=3, Criteria1:=0
            Range("A5").Select
            ActiveCell.Offset(1, 0).Select
            Do Until ActiveCell.EntireRow.Hidden = False
                ActiveCell.Offset(1, 0).Select
            Loop
            Selection.EntireRow.Select
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Delete shift:=xlUp
            Selection.AutoFilter
        End If

在xl'03中编写代码,看看有什么不同。当然。。。不敢相信我没想到在03年录下这个宏。不管它值多少,它必须是标准1:=0