I’ve a spreadsheet that will have a different number of rows each day.
I am trying to divide that number of rows by 6 then copy the info into six different sheets within the same workbook.
For example – say the original sheet has 3000 rows. 3000 rows divided by 6 (500), copied into six different sheets or maybe there are 2475 rows, now dividing it by 6 and trying to keep the number of record split between sheets approximately the same (keeping the sheet with the original 3000 or 2475 rows as is) within the same workbook.
I have code that is creating 6 additional sheets but the records are not being copied to these sheets.
Option Explicit
Public Sub CopyLines()
Dim firstRow As Long
Dim lastRow As Long
Dim i As Long
Dim index As Long
Dim strsheetName As String
Dim sourceSheet As Worksheet
Dim strWorkbookName As Workbook
Sheets.Add
Sheets.Add
Sheets.Add
Sheets.Add
Sheets.Add
Sheets.Add
Set sourceSheet = Workbooks(strWorkbookName).Worksheets(strsheetName)
firstRow = sourceSheet.UsedRange.Row
lastRow = sourceSheet.UsedRange.Rows.Count + firstRow - 1
index = 1
For i = firstRow To lastRow
    sourceSheet.Rows(i).Copy
    Select Case index Mod 6
    Case 0:
        strsheetName = "Sheet1"
    Case 1:
        strsheetName = "Sheet2"
    Case 2:
        strsheetName = "Sheet3"
    Case 3:
        strsheetName = "Sheet4"
    Case 4:
        strsheetName = "Sheet5"
    Case 5:
        strsheetName = "Sheet6"
    End Select
    Worksheets(strsheetName).Cells((index / 6) + 1, 1).Paste
    index = index + 1
Next i
End Sub
 
     
     
     
     
    
 
    