如何防止单元格在Excel中打印


17

如何在编辑文件时使特定单元格(或整个行或列)的内容在Excel中打印,同时在屏幕上保持可见状态?理想情况下,我应该能够对电子表格内部的单元格执行此操作(即,不仅是最右侧的列或底部的行)。隐藏行或列是不可接受的,因为我需要保持单元格大小,以保持工作表的整体外观。

我一直在寻找一种定义条件格式的方法,该条件格式取决于Excel当前是否正在打印,但是似乎没有任何这样的东西。我一直在打印之前将文本颜色手动设置为白色(然后在之后手动将其恢复),但是似乎应该有一种自动的方法。


2
您应该更改Terence的已接受答案,因为它是防止打印单元格的一个方法,而不阻止它们出现在屏幕上(这似乎是该问题的隐含要求)。
广告N

Answers:


7

您可以应用常规(非条件)格式来实现此目的。选择相关单元格,行和/或列,然后转到“设置单元格格式”,可通过功能区(“主页”→“单元格”→“格式”)或键盘快捷键Ctrl+进行访问1

在“数字”选项卡上,选择类别=“自定义”,然后为“类型”输入:

“”;“”;“”;“”

或简单地

;;;

如果单元格包含正数,负数,零或(非数字)文本,这将告诉Excel显示一个空字符串。因此,所有不是错误的值都将在屏幕上和打印时隐藏。


哇,这是超级棒的超级用户提示。我迫不及待想在早上尝试。
Michael Itzoe 2010年

11
这也阻止了单元格内容的显示,而不仅仅是打印。我想在屏幕上显示该值,但在打印时隐藏。
utapyngo 2014年

14

如果使用的是Office 2010,则在“文件->打印->页面设置->图纸(选项卡)”下,“打印区域”的设置应为您要的内容。在我的示例中,仅打印A:J列;但是,在屏幕上查看时会显示所有内容。

对话框如下所示:

屏幕截图
(点击图片放大)

也可以通过“页面布局”→“页面设置”→(角按钮)→“页面设置”→“页面”进行访问:

    


2
多么奇怪-这是唯一正确和有效的答案。
Vojtěch多纳尔

7

此解决方案不需要您在每次需要打印文件之前和之后采取特殊措施。它基于Terence和Don Livezey所建议的使用“打印区域”的思想。将您不想打印的单元格放在打印区域之外。如果这对您足够好,那么您就完成了。

但是,当您编辑工作表时,您可能希望排除的单元格出现在打印区域内。在这种情况下,对于要显示但不打印的每个单元格:

  • 插入一个“形状”。(一个矩形效果最好。)将其放在要显示数据的单元格上。根据需要以视觉方式对其进行格式化。最好没有边界线。将填充颜色设置为您想要的背景颜色,或者不填充,以使基础单元格的填充颜色显示出来(并使形状本身不可见)。
  • 配置形状通过选择形状,然后键入的引用(例如,以显示所需的单元格的内容,=D15到顶部的公式栏。不要只是键入形状;如果这样做,公式(=D15)将按字面显示。
  • 右键单击形状,然后选择“设置形状格式”。在属性下,可以选择是否打印形状(通过清除“打印对象”复选框)。(在Excel 2013中,它位于“形状选项”→“大小和属性”→“属性”下。)

仅需要包含用户说明时,非打印形状非常有用。(这就是我阅读本文的原因)。
西奥多

2

当我需要做您想说的话时,我会做的是:

在代码编辑器(VBA)中使用该功能:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

隐藏列或行,执行打印输出,然后取消隐藏它们。

例:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        With ActiveSheet
            .Rows("10:15").EntireRow.Hidden = True
            .PrintOut
            .Rows("10:15").EntireRow.Hidden = False
        End With
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

或更改相应部分以隐藏列(此示例隐藏列B和D):

        With ActiveSheet
            .Range("B1,D1").EntireColumn.Hidden = True
            .PrintOut
            .Range("B1,D1").EntireColumn.Hidden = False
        End With

或隐藏A列中所有带有空白单元格的行:

        With ActiveSheet
            On Error Resume Next
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
            .PrintOut
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
            On Error GoTo 0
        End With

链接:


这是一个非常差的解决方案,链接不再起作用。
Vojtěch多纳尔

2

我通过创建单独的工作表并复制指向其中信息的链接来解决了相同的问题。为此,突出显示整个原始工作表并复制(Ctrl+ C)。转到新工作表,然后右键单击第一个单元格。在“粘贴选项”中选择链接图标。粘贴的所有内容都是未格式化的,因此您必须更正此错误。空单元格将包含零。可以通过以下方法纠正此问题:转到“文件”→“选项”→“高级”,然后取消选中“在具有零值的单元格中显示零”框。

现在,您可以删除不想在打印输出中显示的任何单元格,行或列。当您更新原始图纸时,打印纸将更新。

如果像我一样,有一个要在不同时间段或不同目的复印的基础纸,则可以为该基础纸创建此打印纸。当您需要一对新纸时,只需复制两张纸,新的打印纸将链接到新纸上。


1

我的信誉得分不足,无法在其他帖子上发表评论,因此我将添加一个包含一些观察结果的“答案”。我有相同或相似的需求,各种方法各有利弊。

  • 设置打印区域:可以根据图纸的布局进行设置,但是不能很好地处理非连续的打印区域选择。或者,也许它处理得很好,但是所选方法对我而言不起作用。例如,如果我有一个带有AE列的电子表格,而我想在打印时隐藏B和D列,则它将每个打印的列{A,C,E}放在单独的页面上。不是我想要的。

  • 将文本设置为白底白字:在某些情况下可以使用,但是请注意,它不能防止隐藏数据泄漏。如果您要隐藏敏感信息,请注意,如果您打印为PDF,数据仍将存在于PDF文件中。即使它是白色的,它仍然存在,并且可以从PDF文件中复制/粘贴。

我更喜欢使用宏在打印时隐藏所选列的方法,尽管我意识到这可能并不适用,也不是在所有情况下的最佳选择。


1

通过右键单击行/列并选择“隐藏”,可以“隐藏”整个行或列。这将防止打印(或显示)行/列。如果有多个行/列,则可以通过“单击拖动”(如果它们彼此相邻)突出显示它们,或者通过Ctrl+单击(如果它们彼此不相邻)来突出显示它们。隐藏行/列时,不显示其编号/字母。要取消隐藏它们,只需突出显示任一侧的行/列,然后单击“右键”,然后选择“取消隐藏”即可。

除了更改字体颜色外,我不确定是否可以阻止单个单元格打印。您可能可以使用条件格式自动执行此操作。


1
但是OP不会寻找隐藏的单元格,而是要防止它们打印。
Vojtěch多纳尔

@VojtěchDohnal隐藏一个单元格也将使其不打印。据推测,一旦打印,就可以取消隐藏。
iheanyi

0

除了隐藏上面建议的列或行。您可能会将“自定义视图”视为应用和取消应用不想显示的内容的简单方法。

例如,如果您为销售员打印一列,为仓库打印另一列,并为所有列打印所有内容,则可以为每列创建一个自定义视图,然后轻松切换到其中一个。


0

另一种简单的方法是通过突出显示选定的单元格来临时清除单元格的内容-右键单击并选择“清除内容”。

在此处输入图片说明

现在,您可以打印,然后单击“撤消”按钮,一切恢复正常。


我不明白,怎么这个答案可能已经upvoted ...如果你不希望打印只是删除它们的细胞做...
Vojtěch多纳尔

单元格可以包含要在公式计算中使用的值(例如利润百分比),即变量。如果将其删除,则计算不会!
再生钢

0

我走了“清晰的内容”之路,可以说在忙碌的一天中,不难忘了为打印而撤消某些操作。

此后,我的流程包括一个“正在工作”(源)选项卡,向我的文件中正在工作的任何同事发送“请勿触摸”消息以及一个直接从工作选项卡中绘制的“打印”(目标)选项卡,不必担心清除,隐藏或记得放回原处。

当我更新源时,目标将获得它需要的所有信息,并且我不会浪费很多时间进行备份。

另外,备份文件,呵呵。

干杯


0

为了防止打印行或列,您可以隐藏起来:

  1. 选择行/列
  2. 右键点击它
  3. 在上下文菜单中选择“隐藏”

替代方法是创建,然后将其折叠:

  1. 选择行/列
  2. 在“ 大纲”组中选择“ 数据”选项卡(在功能区中)->“ 组”按钮

现在,您可以快速折叠/展开行/列以进行编辑/打印。

还要看一下介绍隐藏单元格的多种方法的视频(包括上述内容)。


0

考虑到以前的建议,即白色字体可能在PDF打印中可见,我使用以下技术:

在打印区域之外的单元格中输入“ 1”或“ 0”。

然后,我将在不需要打印的所有单元格的条件格式中引用此字段。

如果是,A1=0则将格式设置为白色字体。

如果是,A1=1则将格式设置为黑色或所需的任何颜色字体。

第二行可能不是必需的,但也可以让您使用不同的数字来突出显示区域,或者通过在单元格A1中选择一系列数字来突出显示所选背景,边框和字体的单个单元格。


如何停止以白色打印PDF?通过条件格式设置为白色的单元格不是像以前一样在PDF上打印为白色吗?
安迪·莫尔

是的,但是,这解决了以下原始问题:如何在不可打印的单元格(白色字体)之间切换,以及如何通过使用单元格A1内容(0或1)打开和关闭白色字体单元格来在工作表中查看它们。
达伦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.