您好我有一个包含大约10,000条记录和大约8列的Excel电子表格。我想将excel电子表格拆分为不同的电子表格,其中包含每行250行的数据。所以举个例子。 传播表1将有250行 传播表2将有另外250行(原始10,000列表中的251-500),依此类推,直到它全部完成。它还应保留每个电子表格上的原始标题。
任何人都可以提供帮助吗?
答案 0 :(得分:1)
这应该假设来自A1:Z1000的数据。只需更改范围,工作簿名称和"另存为"路径根据需要。
Sub generateSheets()
Dim sheetName As String
Dim headerRng As Range
Set headerRng = Workbooks("GenerateSheetsTest.xlsm").Worksheets("sheet1").Range("A1:Z1")
Application.ScreenUpdating = False
For i = 0 To 1000 Step 250
sheetName = "Until" & i + 250
Set NewBook = Workbooks.Add
headerRng.Copy
NewBook.Worksheets("Sheet1").Range("A1").PasteSpecial (xlPasteValues)
Workbooks("GenerateSheetsTest.xlsm").Worksheets("sheet1").Range("A" & i + 2 & ":Z" & i + 251).Copy
NewBook.Worksheets("Sheet1").Range("A2").PasteSpecial (xlPasteValues)
NewBook.SaveAs fileName:="C:\Users\" & Environ$("username") & "\Documents\Output\" & sheetName & ".xlsx"
ActiveSheet.Range("A1").Select
ActiveWorkbook.Close True
Next i
Application.ScreenUpdating = True
End Sub