我正在尝试过滤excel中的两列以显示今天提供的所有结果(两个单独的列)。我尝试了多种方法,但是我不断得到反映" AND"声明。我觉得我很亲近。
Sub Playing_Today_v2()
Dim s As String
s = "=" & CStr(Date)
With ActiveSheet.ListObjects("table1").Range
.AutoFilter
.AutoFilter Field:=7, Criteria1:=s
End With
With ActiveSheet.ListObjects("table1").Range
.AutoFilter
.AutoFilter Field:=9, Criteria1:=s
End With
End Sub
非常感谢任何和所有帮助!!
答案 0 :(得分:0)
您好,为了通过VBA执行此操作,您首先需要了解如何手动完成这两种方式:
对于辅助列,添加类似于=OR(Col7=TODAY(),Col9=TODAY())
的公式,并过滤到该列等于true
。
对于高级过滤器,创建一个2 x 3范围并填充如下:
Col7 NAME, Col9 NAME
=Today() ,
, =Today()
使用作为您的条件范围进行OR
选择(如果您想要AND
选择将它们放在同一行上)。
手动完成后,通过添加新列并添加1个类似于现有代码的自动浏览器或使用Range.AdvancedFilter
方法,移动到VBA相当容易。
如果您对代码感到困惑,请发一个问题,告诉您有多远,有人可以提供帮助。