简单的 VBA 问题。我需要一个 VBA 子例程,它将根据条件过滤我的数据(在这种情况下,如果 C 列中的内容等于 11-Jun-12 [41071 in numeric form])而不循环整个数据集。我在 Internet 上进行了一些过滤,但似乎没有什么是我想要的(或者我只是不明白发生了什么)。为了清楚起见,这是我想要的一个例子:
谢谢!
简单的 VBA 问题。我需要一个 VBA 子例程,它将根据条件过滤我的数据(在这种情况下,如果 C 列中的内容等于 11-Jun-12 [41071 in numeric form])而不循环整个数据集。我在 Internet 上进行了一些过滤,但似乎没有什么是我想要的(或者我只是不明白发生了什么)。为了清楚起见,这是我想要的一个例子:
谢谢!
假设电子表格的设置与屏幕截图中显示的一样,您可以执行以下操作
Sub DateFilter()
'hide dialogs
Application.ScreenUpdating = False
'filter for records that have June 11, 2012 in column 3
ActiveSheet.Cells.AutoFilter Field:=3, Criteria1:="6/11/2012"
'deletes all matching rows
ActiveSheet.AutoFilter.Range.Delete
Application.ScreenUpdating = True
End Sub
杰克拉德克利夫,
你的意思是一个简单的自动过滤器,例如:
Sub SimpleColumnDateFilter1()
' Quick Recorded Macro
' Select a Column
' Activate Autofilter
' For a range C1 through the rest of C
' Autofilter such that the column will display dates not equal to 11/15/2012
Columns("C:C").Select
Selection.AutoFilter
ActiveSheet.Range("C:C").AutoFilter Field:=1, Criteria1:= _
"<>11/15/2012", Operator:=xlAnd
End Sub