在VBA中基于给定date的四分之一过滤数据

用户通过点击四个单选button中的一个(每个季度一个)来select一年的四分之一,然后我必须根据该四分之一过滤数据。 我正在尝试与Autofilter,但我卡住,不知道该怎么做。

编辑:代码im试图修复的代码是这样的:

With Worksheets("Sheet1").Range("A1") .AutoFilter Field:=2, Criteria1:=cell.Value, VisibleDropDown:=False max = Application.max(Range("E1:E22222").SpecialCells(xlCellTypeVisible)) 

在这里,我使用自动filter来获取匹配“cell.value”的结果。 之后,我需要根据选定的季度得到这些结果的一个子集。 最后,我想存储特定字段的最大值。 我想念的是如何根据特定的季度进行过滤。 所选季度以数字forms保存在variables“selectedQuarter”中(第一季度的“1”,DatePart(“q”,“2013年12月22日”))。

你只需要用一个与date连接的操作符来使条件成为一个string,然后使用xlAnd操作符,如下所示:

 Private Sub AF(w As Range, selectedQuarter As Integer) Dim c1 As String, c2 As String Select Case selectedQuarter Case 1 c1 = "1/1/2014" c2 = "4/1/2014" Case 2 c1 = "4/1/2014" c2 = "7/1/2014" Case 3 c1 = "7/1/2014" c2 = "10/1/2014" Case 4 c1 = "10/1/2014" c2 = "1/1/2015" End Select w.AutoFilter Field:=1, Criteria1:=">=" & c1, Operator:=xlAnd, _ Criteria2:="<" & c2 End Sub 

请注意,您可能已经有一个,但是您需要一个标题字段,该字段是该范围的一部分,以及自动筛选箭头的位置。