2,462
社区成员
发帖
与我相关
我的任务
分享
Sub macro()
Sheets(1).Select
Dim rng As Range
Set rng = Range("a1", Cells(Rows.Count, "d").End(xlUp))
rng.AutoFilter Field:=4, Criteria1:="=1"
Intersect(Range("a:a"), rng.SpecialCells(xlCellTypeVisible)).Copy Sheets(2).[a1]
Dim ret_rng As Range
Set ret_rng = Intersect(Range("c:c"), rng.SpecialCells(xlCellTypeVisible))
Dim m_rng As Range
Set m_rng = Sheets(2).[b1:m1]
Dim i%, m%, v%
Dim rg As Range
i = 1
For Each rg In ret_rng
'For i = 2 To ret_rng.Count
If rg.Row = 1 Then GoTo 100
m = Month(rg)
i = i + 1
v = rg(1, 0)
Select Case m
Case 9
Sheets(2).Cells(i, 2) = v
Case 10
Sheets(2).Cells(i, 3) = v
Case 11
Sheets(2).Cells(i, 4) = v
Case 12
Sheets(2).Cells(i, 5) = v
Case Else
Sheets(2).Cells(i, m + 5) = v
End Select
100:
Next
End Sub