2010-10-20 14:17:06 +0000 2010-10-20 14:17:06 +0000
17
17

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

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

我一直在寻找一种方法来定义一个以Excel当前是否打印为条件的条件格式,但似乎没有这样的东西。我一直在打印前手动将文本颜色设置为白色(之后再手动恢复),但似乎应该有一种自动的方法来实现。

答案 (12)

14
14
14
2014-09-02 06:59:55 +0000

如果你使用的是Office 2010,在 “文件–>打印–>页面设置–>工作表(选项卡)"下,"打印区域 "的设置应该就是你要找的。在我的例子中,只有A:J列会被打印,但在屏幕上查看时,所有的内容都会显示出来。

这就是对话框的样子。

(点击图片放大)

这也可以作为 "页面布局"→"页面设置"→(角按钮)→"页面设置"→"工作表 "来访问。

7
7
7
2015-11-22 02:59:08 +0000

这个解决方案不需要你在每次需要打印文件之前和之后采取特殊的操作.  它建立在使用 “打印区域 "的想法上,正如Terence和Don Livezey所建议的那样.  把你不想打印的单元格放在打印区域之外.  如果这对你来说足够好,你就可以了。

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

  • 插入一个 "形状”.  (矩形效果最好。)  将其放置在您希望数据出现的单元格上方.  按照您的要求设置视觉格式.  最好是没有边框线.  将填充颜色设置为您想要的背景色,或者不填充,让底层单元格的填充颜色显示出来(并使形状本身不可见)。
  • 配置形状以显示所需单元格的内容,方法是选择形状,然后在顶部_**.  不要只在形状中输入,如果你这样做,公式(=D15)将按字面显示。
  • 右击形状,选择 “格式化形状”.  在 “属性 "下,可以选择是否打印形状(通过清除 "打印对象 "复选框).  (在Excel 2013中,这是在 "形状选项"→"大小和属性"→"属性 "下。
7
7
7
2010-10-20 22:32:16 +0000

你可以应用正常(不是条件)的格式来实现。选择 问题中的单元格、行和/或列,进入 “单元格格式化",可通过功能区("主页” →"单元格" →"格式化")或键盘快捷键Ctrl+1访问。

在 “数字 "选项卡上,选择 "类别”=“自定义",并为 "类型 "输入。

"";"";"";""

或者干脆输入

;;;

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

2
2
2
2015-10-05 09:26:02 +0000

我通过创建一个单独的工作表并复制其中的信息链接来解决同样的问题。要 做到这一点,高亮整个原表并复制它(Ctrl+C)。进入新的工作表,右击第一个单元格。选择 “粘贴选项 "中的链接图标。粘贴的所有内容都将是未格式化的,所以你必须纠正这一点。空单元格将包含零。这可以通过进入 "文件” →"选项" →"高级 “并取消选中 "在有零值的单元格中显示零 "框来纠正。

现在您可以删除任何您不希望出现在打印输出上的单元格、行或列。打印表将在您更新原始表时更新。

如果像我一样,你有一个基础表,你会在不同的时间段或目的下复制,你可以为基础表创建这个打印表。当你需要新的对子时,只需将两张纸都复制下来,新的打印纸就会链接到新的对子上。

2
2
2
2010-10-20 14:48:44 +0000

当我需要做你所说的事情时,我会做的是。

在代码编辑器(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

链接。

1
1
1
2015-07-08 17:28:40 +0000

我的信誉点不够,无法对其他帖子进行评论,所以我补充一个 “答案",提出一些看法。我也有同样或类似的需求,各种方法都有利弊。

–设置打印区域。这取决于纸张的布局,但它不能很好地处理不连续的打印区域选择。 或者,也许它能很好地处理它。或者,也许它处理得很好,但所选的方法在我的情况下并不适用。例如,如果我有一个有A-E列的电子表格,我想在打印时隐藏B和D列,那么它就会把每个打印的列{A,C,E}放在一个单独的页面上。这并不是我真正想要的。

  • 将文本设置为白底白字。在某些情况下是可行的,但要注意它不能防止隐藏数据的泄露。如果你想隐藏敏感信息,要知道如果你打印成PDF,数据仍然会出现在PDF文件中。即使是白纸黑字,它仍然存在,并且可以从PDF文件中复制/粘贴出来。

我更倾向于使用宏来隐藏打印时选择的列,尽管我意识到这并不是所有情况下都适用或最好的选择。

1
1
1
2010-10-20 14:40:54 +0000

您可以通过右击该行/列并选择 “隐藏 "来 "隐藏 "整个行或列。这将防止该行/列被打印(或显示)。如果您有多行/列,如果它们彼此相邻,您可以通过 "点击拖动 "来突出显示它们,如果它们不相邻,您可以通过Ctrl+点击来突出显示它们。当行/列被隐藏时,它们的数字/字母不会显示。要取消隐藏它们,只需突出显示两边的行/列,然后 "右键 "并选择 "取消隐藏"。

我不确定除了改变字体颜色外,你是否能阻止单个单元格打印。你也许可以用条件格式化来自动完成。

0
0
0
2015-05-10 23:05:26 +0000

为了防止行或列的打印,你可以隐藏它。

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

另一种方法是创建,然后折叠它:

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

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

也可以看看视频 描述了多种隐藏单元格的方法(包括上面提到的)。

0
0
0
2014-11-03 18:49:36 +0000

我走过 “清除内容 "的道路,可以说,在忙碌的一天,为了打印而忘记撤销一些东西并不难。

我此后的流程包括:有一个 "工作"(源)选项卡,对任何在我的文件中工作的同事都有一个 "不要碰 "的信息,以及一个 "打印"(目的)选项卡,直接从工作选项卡中抽出,而不用担心清除、隐藏或记得放回。

当我更新源文件时,目标文件会得到它所需要的所有信息,我不会失去我应该更好地备份的几个小时的工作。

另外,备份你的文件,嘿嘿。

干杯

0
0
0
2016-07-14 05:16:21 +0000

考虑到之前的建议在PDF打印时可能会出现白色字体,我使用了以下技术:

在打印区域外使用一个带有 “1 "或 "0 "条目的单元格。

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

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

如果A1=1 然后将格式设置为黑色或任何你想要的颜色字体。

第二行可能不需要,但也允许您通过选择A1单元格中的数字范围,使用不同的数字突出显示范围或单个单元格的背景、边框和字体。

0
0
0
2010-10-21 17:26:14 +0000

除了上面建议的隐藏列或行之外。你可以把 “自定义视图 "看成是应用和取消应用你不想显示的东西的一个简单方法。

例如,如果你为销售人员打印一列,为仓库打印另一列,为一切打印另一列,你可以为每一列创建一个自定义视图,并轻松地切换到其中之一。

0
0
0
2012-08-28 12:04:28 +0000

另一个简单的方法是通过高亮选中的单元格来暂时清除单元格的内容–右击并选择 “清除内容"。

现在你可以打印了,然后点击 "撤消 "按钮,一切恢复正常。