隐藏Excel中的分页符

时间:2009-06-19 10:29:14

标签: excel vba excel-vba printing page-break

继续我的previous questions

我已经实现了一系列复选框,用户可以使用这些复选框隐藏/取消隐藏数据范围。这很棒 - 它很有效。问题是当用户去打印时 - 隐藏的数据被隐藏但页面仍然存在但是空白。

如果分页符留给自己的设备,那么一切都很好 - 没有空白部分。使用手动分页符时,您可以看到数据的位置。

我已经尽力摆脱空白区域。

复制范围并重新计算分页符是不行的,因为对于相当小的报告,分页时间最多需要2分钟。

那么,如何才能仅打印未隐藏的范围?

谢谢,G。

2 个答案:

答案 0 :(得分:1)

尚未对其进行测试,但您可以将打印范围更改为仅显示可见单元格:

Public Sub SetPrintRangeToVisible(ByRef ws As Excel.Worksheet)
    ws.PageSetup.PrintArea = ws.UsedRange.SpecialCells(xlCellTypeVisible).Address
End Sub

答案 1 :(得分:0)

Excel,默认情况下仅打印可见单元格。您不必像以前建议的那样将“打印”区域设置为可见单元格。

我想您已取消选中所有复选框中的“打印对象”选项。当您打印表单时,该区域显示为空白。如果是这种情况,请继续阅读:

我建议编写一个隐藏包含复选框的行的简单宏。将复选框的visible属性设置为false。打印工作表,然后将所有内容恢复为原始状态。

或者,您可以选中复选框上方的行,然后选中复选框下方的整个区域,然后将其设置为PrintArea。这应该可以解决您遇到的问题。

另外,我可能会误解情况,在这种情况下,我很抱歉浪费了你的时间。