2014-04-30 32 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

非常感謝您的回覆。 –

相關問題