但是这个新表有表头,还有sheet2和sheet3里的内容,可以实现吗?
或者保留原表的表头和sheet2、sheet3也可以
看您是大师,万分感谢
你好,请教vba问题,想拆分一个excel,几十万行数据,每100行粘到一个新表中
答案:3 悬赏:20
解决时间 2021-04-07 22:55
- 提问者网友:无心恋土
- 2021-04-07 15:17
最佳答案
- 二级知识专家网友:承载所有颓废
- 2021-04-07 15:24
表头有几行
sheet2和sheet3是需要完整复制到每一个新表中的吗?
假设按照1行的标题来做,代码如下
Sub aa()
bm = ThisWorkbook.Name
pth = ThisWorkbook.Path
m = Sheets("sheet1").[A200000].End(xlUp).Row
Application.SheetsInNewWorkbook = 1
For i = 0 To Int(m / 100)
With Workbooks.Add
.Sheets("sheet1").Rows(1) = Workbooks(bm).Sheets("sheet1").Rows(1)
Workbooks(bm).Sheets("Sheet2").Copy After:=.Sheets(1)
Workbooks(bm).Sheets("Sheet3").Copy After:=.Sheets(2)
Workbooks(bm).Sheets("sheet1").Rows(1).Copy .Sheets("sheet1").Rows(1)
Workbooks(bm).Sheets("sheet1").Rows((2 + 100 * i) & ":" & (101 + 100 * i)).Copy .Sheets("sheet1").Rows(2)
.SaveAs Filename:=pth & "\" & Format(i, "00000") & ".xlsx"
.Close
End With
Next i
Application.SheetsInNewWorkbook = 3
End Sub
sheet2和sheet3是需要完整复制到每一个新表中的吗?
假设按照1行的标题来做,代码如下
Sub aa()
bm = ThisWorkbook.Name
pth = ThisWorkbook.Path
m = Sheets("sheet1").[A200000].End(xlUp).Row
Application.SheetsInNewWorkbook = 1
For i = 0 To Int(m / 100)
With Workbooks.Add
.Sheets("sheet1").Rows(1) = Workbooks(bm).Sheets("sheet1").Rows(1)
Workbooks(bm).Sheets("Sheet2").Copy After:=.Sheets(1)
Workbooks(bm).Sheets("Sheet3").Copy After:=.Sheets(2)
Workbooks(bm).Sheets("sheet1").Rows(1).Copy .Sheets("sheet1").Rows(1)
Workbooks(bm).Sheets("sheet1").Rows((2 + 100 * i) & ":" & (101 + 100 * i)).Copy .Sheets("sheet1").Rows(2)
.SaveAs Filename:=pth & "\" & Format(i, "00000") & ".xlsx"
.Close
End With
Next i
Application.SheetsInNewWorkbook = 3
End Sub
全部回答
- 1楼网友:厭世為王
- 2021-04-07 16:53
可以的。
应该行。
你可以今晚联系我,准备好源数据样本
- 2楼网友:瘾与深巷
- 2021-04-07 15:46
你好!
可以的。
应该行。
你可以今晚联系我,准备好源数据样本
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯