1. 程式人生 > >excel按照固定行數拆分多個

excel按照固定行數拆分多個

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.核對資料


生成了分割資料檔案,可以對比下看看。注意最後一個是空的,可以忽略。