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