在Excel中是否有任何方法可以在打印整个工作簿时不包含特定的选项卡?如在,Sheet1,Sheet2和Sheet3打印,但不打印Sheet4。
所以当有人去File - >打印或其他什么,然后点击OK等等,除了特定的指定标签外,所有内容都打印出来(我假设我必须“以某种方式隐藏”)。
我将这个锻炼发送给一群人,所以我试图避免强迫他们启用/运行宏和所有这些东西。是否只有“从印刷品中排除”这样的纸张属性?
答案 0 :(得分:2)
这些答案需要使用宏 在打印前隐藏纸张。
sheets("WorksheetToNotPrint").visible = xlSheetHidden 'or 0
或
sheets("WorksheetToNotPrint").visible = xlSheetVeryHidden 'or 2
'used if you don't want people to unhide the worksheet without knowing code
和
sheets("WorksheetToNotPrint").visible = xlSheetVisible 'or -1
完成后
另一种选择是打印您想要打印的纸张(如果您只想要打印几张纸,这可能很有用:
Sub Print_Specific_Sheets()
Sheets(Array("Sheet1", "Sheet2", "Sheet4")).Select
ActiveWindow.SelectedSheets.PrintOut
Sheets("Sheet1").Select
End Sub
答案 1 :(得分:2)
只需在您不想打印到单个空白单元格的选项卡上设置打印区域,这意味着它将打印一个空白页面,而不是我想要您尝试的大量数据避免打印。
答案 2 :(得分:0)
实际上答案似乎非常简单。
如果隐藏工作表,则在打印整个工作簿时不会打印它。
您不需要宏,只需
hide
如果需要,您或其他用户也可以取消隐藏。
答案 3 :(得分:0)
如果您使用BeforePrint
事件,则可以更改内置打印功能可以执行的操作。 BeforePrint
宏位于“工作簿”下的“ThisWorkbook”中。
例如,您可以隐藏工作表4,因此它不会像这样打印:
Private Sub aWorkbook_BeforePrint(Cancel As Boolean)
Sheets(4).Visible = xlSheetHidden
End Sub
此方法的缺点是没有AfterPrint
方法取消隐藏工作表。所以你需要规避打印对话框。有几种方法可以做到这一点,但这里有一个非常简单的方法。 (注意:如果您需要考虑许多其他打印方案,这可能不是一个好的解决方案)
这里我准确地告诉要打印哪些纸张(仅限第1和第4页)。您可以使用名称而不是数字,甚至可以创建循环并查找变量以确定要打印的工作表。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
Sheets(Array("1", "4")).PrintOut , , 1
Application.EnableEvents = True
'//prevent the default print
Cancel = True
End Sub
答案 4 :(得分:0)
要手动执行此操作,只需选择要打印的所有纸张,方法是单击第一个纸张选项卡标签,然后按住“Shift”键并单击最后一个纸张选项卡标签。 (如果您有大量工作表,请使用小箭头键进行导航)
如果您需要取消选择中间的工作表,请按住CTRL键并单击该工作表。
或者,您可以按住CTRL键并单击每个工作表标签。
工作表颜色为白色(在无活动工作表上有渐变),表示已选中它们。
警告:当选择多张纸时,对其中一张纸的更改将在所有纸张的相同单元格中重复。
答案 5 :(得分:0)
如果您不想使用VBA或隐藏工作表,则可以在不想打印的工作表的空白单元格上设置打印区域。
该标签仍将被打印,但是结果将是一张空白纸。
答案 6 :(得分:-1)
为什么所有疯狂的编码?
只需单击要打印的第一个选项卡,然后将其激活。 然后按住控制键,然后单击要打印的每个其他标签,但不包括一个或多个不想打印的标签。 然后转到“文件”,然后像往常一样“打印”。确保选择“打印活动表”,然后进行打印。
它仅打印您选择的标签。 简单,无需使事情复杂到不必要的愚蠢程度。