如何将excel电子表格拆分为由行分隔的单独Excel工作表

时间:2014-04-30 00:23:52

标签: excel-vba vba excel

您好我有一个包含大约10,000条记录和大约8列的Excel电子表格。我想将excel电子表格拆分为不同的电子表格,其中包含每行250行的数据。所以举个例子。 传播表1将有250行 传播表2将有另外250行(原始10,000列表中的251-500),依此类推,直到它全部完成。它还应保留每个电子表格上的原始标题。

任何人都可以提供帮助吗?

1 个答案:

答案 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