2014-04-30 31 views
-1

嗨我有一个包含约10,000条记录和约8列的excel电子表格。我想将Excel电子表格分解成包含每行250行数据的不同电子表格。举个例子。 Spread sheet 1将有250行 Spread sheet 2将有另外250行(原始10,000列表中的251-500)等等,直到全部完成。它还应该保留每个电子表格上的原始标题。如何将excel电子表格拆分为由行分隔的单独Excel表格

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

+0

我认为你正在寻找类似的东西[这](http://stackoverflow.com/questions/19325865/excel-vba-copy-a-range-into-a-new-workbook) 。 – David

回答

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 
+0

非常感谢您的回复。 –

相关问题