1

继我之前的 问题之后:

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

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

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

复制范围并重新计算分页符是不行的,因为对于一个相当小的报告,分页符需要 2 分钟以上。

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

谢谢,G。

4

2 回答 2

1

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

Public Sub SetPrintRangeToVisible(ByRef ws As Excel.Worksheet)
    ws.PageSetup.PrintArea = ws.UsedRange.SpecialCells(xlCellTypeVisible).Address
End Sub
于 2009-06-19T19:39:49.243 回答
0

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

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

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

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

另外,我可能对情况有极大的误解,在这种情况下,我很抱歉浪费了您的时间。

于 2014-11-06T15:10:16.903 回答