Excel范围内的条件分页符

时间:2018-12-10 13:55:10

标签: excel vba excel-vba page-break

希望这是一个编程问题,因为我认为没有VBA就无法实现。

我有一个Excel 2016范围,其大小和内容(行数x)是固定的,但是鉴于上面有一个扩展的表格,它可以上下移动。它本质上是最后的签名。

我想避免将此范围的打印输出分成两页,因此需要在此特定范围之前添加分页符,以防一部分溢出到第二页-然后在第二页上完全打印不只是默认范围内的一部分。另外,除非所有分页符都适合第1页,否则不需要分页符。

我确实有一个有效的代码,我可以对其进行增强,以便在范围的前面手动添加分页符,但是每当用户看到范围部分溢出到下一页时,都需要手动启动该分页符-也许可以自动化吗?

关于可能的方法有什么想法吗?

Sub Page_break()

    Dim CellRange As Range
    Dim TestCell As Range

    ActiveSheet.ResetAllPageBreaks

    Set CellRange = Selection
    For Each TestCell In CellRange
        If TestCell.Value <> TestCell.Offset(-1, 0).Value Then
            ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual
        End If
    Next TestCell

End Sub

1 个答案:

答案 0 :(得分:0)

以下想法:

  1. 定义要保持在一起的范围print()
  2. 遍历所有水平分页符
  3. 检查这些分页符之一是否与pprint()相交,如果有,请在上方插入分页符。

示例:

RangeToKeep