简单的VBA问题。我需要一个VBA子例程,它将根据条件过滤我的数据(在这种情况下,如果列C中的内容等于11-Jun-12 [数字形式的41071]),而不循环整个数据集。我在网上看了一下过滤,但没有看到任何我想要的东西(或者我只是不明白发生了什么)。需要明确的是,这里有我想要的一个例子:Excel VBA条件筛选器
谢谢!
简单的VBA问题。我需要一个VBA子例程,它将根据条件过滤我的数据(在这种情况下,如果列C中的内容等于11-Jun-12 [数字形式的41071]),而不循环整个数据集。我在网上看了一下过滤,但没有看到任何我想要的东西(或者我只是不明白发生了什么)。需要明确的是,这里有我想要的一个例子:Excel VBA条件筛选器
谢谢!
假设电子表格设置,因为它出现在你的屏幕截图这里是你可以做什么
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
这工作完美。谢谢! – jrad 2012-07-30 19:29:34
杰克·拉德克利夫,
你的意思是一个简单的自动筛选,例如:
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
是的,这是我正在尝试做的。但是,这给了我一个错误,我不知道为什么。无论哪种方式,罗斯拉森(我认为)在原来的帖子中为我清理了一些东西。谢谢! – jrad 2012-07-30 18:48:16
杰克,这个基本的例子现在应该有效地运作。我现在只是努力使它更加模块化。 〜JOL – JackOrangeLantern 2012-07-30 18:58:09
为什么不使用自动过滤器?有自定义日期过滤器(日期过滤器的最后一个选项),可选择“不等于”和日期选择器 – 2012-07-30 18:38:28
好吧,我想完全删除这些行。除了循环遍历每一行之外,没有办法做到这一点吗? – jrad 2012-07-30 18:40:28
我不确定。可能不会,但这绝不是100%肯定的答案。 – 2012-07-30 18:42:34