Sub 分布() Dim c As Integer Dim r As Integer Dim sh As Worksheet r = Sheets(1).Range("a1048576").End(xlUp).Row c = Sheets.Count For i = 2 To r + 1 If i <= c Then Worksheets(i).Range("a1") = Worksheets(1).Range("a" & i - 1) Else Set sh = Sheets.Add sh.Move after:=Worksheets(Sheets.Count) sh.Name = i sh.Range("a1") = Worksheets(1).Range("a" & i) End If Next i End Sub
Option Explicit Sub abc() Dim i Call doevent(False) For Each i In Sheets If LCase(i.Name) <> "sheet1" Then i.Delete Next With Sheets("sheet1") For i = 2 To .[a1].End(xlDown).Row Sheets.Add ActiveSheet.Name = "sheet" & i .Rows(1).Copy [a1] .Rows(i).Copy [a2] Next End With Call doevent(True) End Sub Function doevent(flag As Boolean) With Application .DisplayAlerts = flag .ScreenUpdating = flag End With End Function