excel按照固定行数拆分多个

来源:互联网 发布:jquery.cookie.js插件 编辑:程序博客网 时间:2024/05/20 07:33

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 Longr = Range("A" & Rows.Count).End(xlUp).Rowc = Cells(1, Columns.Count).End(xlToLeft).Columnbt = 1 'titleWJhangshu = 250 'numWJshu = 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 TrueNextEnd Sub

在sheet1贴上以上代码。我们是按照250行来拆分一个的。

2. 切回Excel。Alt+f8.弹出框选择刚才的宏,可以“执行”或者单步执行。


3.核对数据


生成了分割数据文件,可以对比下看看。注意最后一个是空的,可以忽略。