1

我的电子表格中有两个表(一个在另一个之上,由几行分隔),分别称为 T1 和 T2。T1 在包含多少行方面是动态的,T2 是静态的。我可以很容易地找出 T1 在哪一行结束,然后在上面加 1 左右——调用这个变量 T1EndRow。

我想对其进行编码,以便它知道从第 1 行到 T1EndRow 的所有内容都将在打印预览的第一页上。T2 将流到第二页。

我怎样才能做到这一点?

4

1 回答 1

1

使用对象的HPageBreaksVPageBreaks成员Sheet设置水平和垂直分页符的位置。

例如,如果 T1EndRow 是您希望出现在第 1 页上的最后一行中的命名范围,请执行以下操作:

Set ActiveSheet.HPageBreaks(1).Location = ActiveSheet.Range("T1EndRow")

如果 T1EndRow 是Long,请尝试:

Set ActiveSheet.HPageBreaks(1).Location = ActiveSheet.Cells(T1EndRow, 1)

奇怪的是,除非您处于 xlPageBreakPreview 模式,否则 Excel 会在这一行抛出错误(这是调整分页符的唯一方法):

ActiveWindow.View = xlPageBreakPreview
Set Sheet1.HPageBreaks(1).Location = Sheet1.Cells(58, 1)
ActiveWindow.View = xlNormalView

我还注意到,如果.Location您设置的设置在UsedRange工作表之外,它会引发不同的错误,因此您可能需要确保已满足该要求。

于 2012-10-16T15:39:28.263 回答