Разделите строки поровну на листы

#excel #vba

Вопрос:

У меня возникла проблема, когда мне нужно разделить строки на одном листе на несколько листов. моя проблема в том, что все работают правильно, но при копировании строк с листа на лист количество отличается. позвольте мне объяснить: при выборе листа 1 с 1600 строками я разделил его на два листа по 800 строк, но после выполнения я увидел, что на листе 2 1600 строк, а на листах 4 800 строк. I одинаковое количество строк одинаково на всех скопированных листах.

Вот код:

 'split data into Sheets
Sub SplitDataIntoSheets()
Dim WorkRng As Range
Dim NumRow As Range
Dim SplitRow As Integer
Dim ws As Worksheet
On Error Resume Next

TitleID = "Rows Distribution"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", TitleID, WorkRng.Address, Type:=8)
SplitRow = Application.InputBox("Split Row Num", TitleID, 5, Type:=1)
Set ws = WorkRng.Parent
Set NumRow = WorkRng.Rows(1)

Application.ScreenUpdating = False

For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (WorkRng.Rows.Count - xRow.Row   1) < SplitRow Then resizeCount = WorkRng.Rows.Count - NumRow.Row   1
    NumRow.Resize(resizeCount).Copy
    Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)
    Application.ActiveSheet.Range("A2").PasteSpecial
    Set NumRow = NumRow.Offset(SplitRow)
Next

Application.CutCopyMode = False
Application.ScreenUpdating = False
End Sub