如何快速的將EXCEL表格資料拆分成多個檔案?
前不久好幾位朋友都問到,如何將一個EXCEL檔案裡面很多條資料拆分成多個檔案,比如一個EXCEL表裡面有90萬行資料,需要按照每1萬行拆分成一個檔案,也就是需要將這表裡面的90萬行資料拆分到90個檔案裡面。這個如果手工拆分,那工作量實在太大了。於是,我就想把這個過程拿出來分享一下。實際上這也是大資料處理過程中會涉及到的一個問題——資料分框。
下面我們就來看看如何用VBA來實現拆分工作。
第一,在EXCEL裡面插入一個模組,程式碼如下:
Sub copybat()
Dim n As Integer
Dim i As Integer
Dim k As Integer
Dim path As String
Dim filename As String
path = “c:\拆分測試\” ‘預定義的儲存路徑
filename = “分割檔案” ’預定義的檔名
Application。ScreenUpdating = False
i = 10 ‘分頁資料條目數
k = 0 ’迴圈執行次數,用於標識檔案順序
For n = 1 To Cells(1, 1)。End(xlDown)。Row Step i ‘開始迴圈到資料表底部,步長為分頁條目數
Range(“A1:D1,A” & n + 1 & “:D” & n + i)。Select ’每次均選擇複製固定的表頭和本次迴圈內的資料行
Selection。Copy
Workbooks。Add ‘新建工作簿
Selection。PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False ’特殊貼上:只貼上數值
k = k + 1
ActiveWorkbook。SaveAs filename:=path & filename & k & “。xlsx”, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False ‘將檔案按命名規則另存至指定位置
ActiveWindow。Close ’關閉已經生成的檔案
Next n
MsgBox “分割完畢!”, vbDefaultButton1, “提示”
Application。ScreenUpdating = true
End Sub
第二,在EXCEL工作表裡面插入一個按鈕,用於呼叫執行該以上模組。
第三,點選按鈕執行程式碼。最後結果如下:
資料夾下生成的檔案圖例
分割的第1小部分
分割的第2小部分
以上,是一個大體的過程,實際上還可以在此基礎上實現更加複雜的邏輯,這就又各位獨立發揮了。
宣告:以上為原創內容,轉載請註明連線!