Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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 2010中自动筛选出“0:00”?_Excel - Fatal编程技术网

如何在excel 2010中自动筛选出“0:00”?

如何在excel 2010中自动筛选出“0:00”?,excel,Excel,我想知道是否有人能够帮助我与下面的代码 ActiveSheet.Range("$A$1:$Y$993").AutoFilter Field:=17, Criteria1:="0:00" 录制一个宏,我发现我可以用上面的代码在0:00进行过滤,但实际上我想要的是取消选中它 我尝试了下面的代码,但没有成功 ActiveSheet.Range("$A$1:$Y$993").AutoFilter Field:=17, Criteria1:="<>0:00" 还有其他代码可以使用吗 提前

我想知道是否有人能够帮助我与下面的代码

ActiveSheet.Range("$A$1:$Y$993").AutoFilter Field:=17, Criteria1:="0:00"
录制一个宏,我发现我可以用上面的代码在0:00进行过滤,但实际上我想要的是取消选中它

我尝试了下面的代码,但没有成功

ActiveSheet.Range("$A$1:$Y$993").AutoFilter Field:=17, Criteria1:="<>0:00" 
还有其他代码可以使用吗


提前感谢。

如果您打开宏记录器,然后手动执行自动筛选,您将看到Excel将构建一个允许值数组,该数组包含除零以外的所有值,并将该数组作为标准应用。您也可以这样做

编辑

假设我们有:

我们希望看到除DarthVader之外的所有宏。此小宏遵循以下建议:

建立一个良好价值观的集合 从集合中构建基于零的变量数组 在过滤器中使用数组

亚诺特瓦德 尺寸c作为集合,表格作为范围 变暗r视为范围,r视为范围 暗淡的

Set c = New Collection
Set tabl = Range("A1:C24")
Set rLook = Intersect(Range("B:B"), tabl)
Set rLook = Intersect(rLook, rLook.Offset(1, 0))

On Error Resume Next
    For Each r In rLook
        v = r.Value
        If v <> "DarthVader" Then
            c.Add v, CStr(v)
        End If
    Next r
On Error GoTo 0

ReDim ary(0 To c.Count - 1)
For i = 1 To c.Count
    ary(i - 1) = c.Item(i)
Next i

tabl.AutoFilter
tabl.AutoFilter Field:=2, Criteria1:=(ary), Operator:=xlFilterValues
端接头


我找到了一个有效的解决方案

With ActiveSheet

    .Range("$A$1:$Y$993").AutoFilter Field:=17, Criteria1:=">" & 1 / 10 ^ 10
End With

我强烈怀疑基础值是日期和时间,其格式仅显示时间。时间不能是负数,但要过滤掉0:00,其中任何一个都应该是:,Criteria1:=>0:00,Criteria1:=0:00,Criteria1:=>0。您想举个例子吗??