1

简单的 VBA 问题。我需要一个 VBA 子例程,它将根据条件过滤我的数据(在这种情况下,如果 C 列中的内容等于 11-Jun-12 [41071 in numeric form])而不循环整个数据集。我在 Internet 上进行了一些过滤,但似乎没有什么是我想要的(或者我只是不明白发生了什么)。为了清楚起见,这是我想要的一个例子:

我想要http://imgur.com/qebVv

http://imgur.com/zDncq

谢谢!

4

2 回答 2

3

假设电子表格的设置与屏幕截图中显示的一样,您可以执行以下操作

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
于 2012-07-30T19:21:05.663 回答
2

杰克拉德克利夫,

你的意思是一个简单的自动过滤器,例如:

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
于 2012-07-30T18:43:17.430 回答