首頁歷史 > 正文

如何快速的將EXCEL表格資料拆分成多個檔案?

2022-02-17由 大牛郭 發表于 歷史

前不久好幾位朋友都問到,如何將一個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工作表裡面插入一個按鈕,用於呼叫執行該以上模組。

如何快速的將EXCEL表格資料拆分成多個檔案?

第三,點選按鈕執行程式碼。最後結果如下:

如何快速的將EXCEL表格資料拆分成多個檔案?

如何快速的將EXCEL表格資料拆分成多個檔案?

資料夾下生成的檔案圖例

如何快速的將EXCEL表格資料拆分成多個檔案?

分割的第1小部分

如何快速的將EXCEL表格資料拆分成多個檔案?

分割的第2小部分

以上,是一個大體的過程,實際上還可以在此基礎上實現更加複雜的邏輯,這就又各位獨立發揮了。

宣告:以上為原創內容,轉載請註明連線!

頂部