我已经实现了一系列复选框,用户可以使用这些复选框隐藏/取消隐藏数据范围。这很棒 - 它有效。问题是当用户去打印时 - 隐藏的数据被隐藏但页面仍然存在但空白。
如果分页符留给他们自己的设备,那么一切都很好 - 没有空白部分。当使用手动分页符时,您可以看到数据的位置。
我已经尽一切努力摆脱空白区域。
复制范围并重新计算分页符是不行的,因为对于一个相当小的报告,分页符需要 2 分钟以上。
那么,如何仅打印未隐藏的范围?
谢谢,G。
尚未对其进行测试,但您可以将打印范围更改为仅可见单元格:
Public Sub SetPrintRangeToVisible(ByRef ws As Excel.Worksheet)
ws.PageSetup.PrintArea = ws.UsedRange.SpecialCells(xlCellTypeVisible).Address
End Sub
Excel,默认情况下只打印可见单元格。您不必像之前建议的那样将打印区域设置为可见单元格。
我想您已取消选中所有复选框中的打印对象选项。当您打印工作表时,该区域显示为空白。如果是这种情况,请继续阅读:
我建议编写一个简单的宏来隐藏包含复选框的行。将复选框的可见属性设置为 false。打印工作表,然后将所有内容恢复到原始状态。
或者,您可以只选择复选框上方的行,然后选择复选框下方的整个区域,然后将其设置为 PrintArea。那应该可以解决您遇到的问题。
另外,我可能对情况有极大的误解,在这种情况下,我很抱歉浪费了您的时间。