Dim TableCount As Integer '工作表总数 TableCount = Worksheets.Count
Dim MyTableRows
For k = 2 To TableCount '除总表之外的其它工作表 MyTableRows = 2 For Current = 2 To 65536 '从第2行扫描总表的行数据 If (Worksheets(1).Cells(Current, 2).Value <> "" _ And Month(Worksheets(1).Cells(Current, 2).Value) = k - 1) Then For m = 1 To 30 Worksheets(k).Cells(MyTableRows, m).Value = Worksheets(1).Cells(Current, m).Value Next MyTableRows = MyTableRows + 1 End If Next Next End Sub