excel按照固定行數拆分多個
阿新 • • 發佈:2019-02-02
1 背景:
工作需要,需要把Excel按照固定行數拆分。
解決辦法:
1. 生成是提前處理:
簡單來說就是按照行數生成多個Excel。
大概邏輯如下:
if(list.size< limit)
{
直接生成Excel
return;
}
else{
// 計算分批次數
int count =list.size/limit;
//迴圈
for()
{
//分批獲取
list.sublist(0,limit)
//處理,生成Excel
//刪除
list.sublist.clear()
}
}
2. 當然還有簡單的辦法,就是Excel直接處理
當前前提是已經匯出了一個大的Excel。
1.開啟Excel,滑鼠不要任何選擇。按“Alt”+“f11”.
Sub cfb() Dim r, c, i, WJhangshu, WJshu, bt As Long r = Range("A" & Rows.Count).End(xlUp).Row c = Cells(1, Columns.Count).End(xlToLeft).Column bt = 1 'title WJhangshu = 250 'num WJshu = IIf(r - bt Mod 20000, Int((r - bt) / WJhangshu), Int((r - bt) / WJhangshu) + 1) For i = 0 To WJshu Workbooks.Add Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(i, String(Len(WJshu), 0)) & ".xlsx" Application.DisplayAlerts = True ThisWorkbook.ActiveSheet.Range("A1").Resize(bt, c).Copy ActiveSheet.Range("A1") ThisWorkbook.ActiveSheet.Range("A" & bt + i * WJhangshu + 1).Resize(WJhangshu, c).Copy _ ActiveSheet.Range("A" & bt + 1) ActiveWorkbook.Close True Next End Sub
在sheet1貼上以上程式碼。我們是按照250行來拆分一個的。
2. 切回Excel。Alt+f8.彈出框選擇剛才的巨集,可以“執行”或者單步執行。
3.核對資料
生成了分割資料檔案,可以對比下看看。注意最後一個是空的,可以忽略。