excel2013如何在100万行中每隔58行自动插入一个分页符?

我有个表有1048576行,我需要在第N行开始每隔58行插入一个分页符直到把表插满,求解

Sub InsertPB()
'插入
i0 = 20 '初始行
For i = 0 To Int((1048576 - i0) / 58)
ActiveSheet.HPageBreaks.Add Before:=Cells(i * 58 + i0, 1)
Next
End Sub
Sub DeletePB()
'删除
ActiveSheet.ResetAllPageBreaks
End Sub追问

此操作超过了您可以手动添加到一个工作本上的分页符数量。一个工作本可以包含1026个分页符。

遇到了这个问题,看来是不行了,有没有解决方法呢?
或者有个能按自己设定的行数把工作本分割成很多个工作本的宏也行

追答

没有办法,这是excel本身限制的,一个工作表最多只能添加1026个分页符,你只能把工作表分成多个,按你的数据,接近20个了。
Sub AddSheet()
k = 58000
For i = 2 To 18
Sheets("Sheet1").Select
Sheets.Add
Sheets("Sheet1").Select
Rows(k * i + 1 & ":" & min(1048576,k * (i + 1))).Copy
Sheets("Sheet" & i).Select
Rows("1:1").Select
ActiveSheet.Paste
'如果需要将新添加的表加分页符,每个表100个
'For j = 1 To 100
' ActiveSheet.HPageBreaks.Add Before:=Cells(j * 58 +1, 1)
'Next
Next
End Sub
没有那么多的数据来测试,你自己试下吧,假设原来只一个工作表sheet1

追问

这个执行不了

追答

Rows(k * i + 1 & ":" & WorksheetFunction.Min(5120, k * (i + 1))).Copy
将min换成 WorksheetFunction.Min

温馨提示:答案为网友推荐,仅供参考
相似回答