Excel VBA-以后按月份筛选

Excel VBA-以后按月份筛选,excel,Excel,我是VBA新手,正在努力定义过滤器,通过这些过滤器可以将我的数据复制到概览表中。我希望显示包含当前月份和未来三个月所有日期的所有行。我当前的日期格式是MMMM YYYY(10月20日等)。这是我目前的代码,它工作得很好,但我不想每个月更新它。我尝试了一些我在这里找到的代码,但没有任何效果,可能是因为我没有使用自动筛选,或者是因为我的日期格式有点奇怪?相关代码部分从:For i=1到nRows 任何帮助都将不胜感激 Public Sub CopyRows() Dim ws As Workshee

我是VBA新手,正在努力定义过滤器,通过这些过滤器可以将我的数据复制到概览表中。我希望显示包含当前月份和未来三个月所有日期的所有行。我当前的日期格式是MMMM YYYY(10月20日等)。这是我目前的代码,它工作得很好,但我不想每个月更新它。我尝试了一些我在这里找到的代码,但没有任何效果,可能是因为我没有使用自动筛选,或者是因为我的日期格式有点奇怪?相关代码部分从:
For i=1到nRows

任何帮助都将不胜感激

Public Sub CopyRows()

Dim ws As Worksheet
Dim s_Main As String
Dim nRow As Long
Dim Last_row As Long
Dim i As Long
Dim Table As Variant

s_Main = "Overview"
Last_row = Worksheets(s_Main).Cells(Rows.Count, 1).End(xlUp).Row
Worksheets(s_Main).Range("A2:P" & Last_row).ClearContents

For Each ws In Worksheets
    If ws.Name = s_Main Then
        GoTo Change_ws
    Else
        nRows = ws.Cells(Rows.Count, 1).End(xlUp).Row
        ReDim Table(nRows, 16)
        Table = ws.Range("A1:P" & nRows)
        For i = 1 To nRows
            If Table(i, 2) = "01.09.2020" Or Table(i, 2) = "01.10.2020" Or Table(i, 2) = "01.11.2020" Or Table(i, 2) = "01.12.2020" Then
                Last_row = Worksheets(s_Main).Cells(Rows.Count, 1).End(xlUp).Row
                ws.Range("A" & i & ":P" & i).Copy Worksheets(s_Main).Range("A" & Last_row)(2)
            End If
        Next i
    End If
Change_ws:

Next ws
End Sub
谢谢大家!