Как запретить печать ячеек в Excel

16

Как я могу предотвратить печать содержимого отдельных ячеек (или всей строки или столбца) в Excel, оставляя их видимыми на экране при редактировании файла? В идеале я должен быть в состоянии сделать это с ячейками во внутренней таблице (т.е. не только с самым правым столбцом (столбцами) или нижним рядом (строками)). Скрытие строки (строк) или столбца (столбцов) недопустимо, поскольку мне необходимо поддерживать размер ячейки, чтобы поддерживать общий вид листа.

Я искал способ определения условного формата, который зависит от того, печатает ли в данный момент Excel, но, похоже, ничего подобного нет. Я вручную устанавливал цвет текста на белый перед печатью (и вручную возвращал его после этого), но, похоже, должен быть автоматический способ сделать это.

Майкл Ицоэ
источник
2
Вам следует изменить принятый ответ на вопрос Теренса, так как он запрещает печатать ячейки , не препятствуя их отображению на экране (что выглядит как неявное требование для этого вопроса).
Объявление N

Ответы:

7

Вы можете применить нормальное (не условное) форматирование для достижения этой цели. Выберите нужную ячейку, строку и / или столбец и перейдите в «Формат ячеек», который доступен через ленту («Главная» → «Ячейки» → «Формат») или сочетанием клавиш Ctrl+ 1.

На вкладке «Число» выберите Category = «Custom» и для «Type» введите:

""; ""; ""; ""

или просто

;;;

Это говорит Excel отображать пустую строку, если ячейка содержит положительное число, отрицательное число, ноль или (не числовой) текст. Поэтому любое значение, которое не является ошибкой, будет скрыто на экране и при печати.

Майк Фитцпатрик
источник
Вау, это потрясающий совет poweruser. Я не могу дождаться, чтобы попробовать это утром.
Майкл Ицоэ
10
Это также препятствует отображению содержимого ячейки, а не только печати. Я хотел бы показать значение на экране, но скрыть при печати.
utapyngo
13

Если вы используете Office 2010, в разделе «Файл -> Печать -> Параметры страницы -> Лист (вкладка)» необходимо выбрать параметр «Область печати». В моем примере будут напечатаны только столбцы A: J; однако все отображается при просмотре на экране.

Вот как выглядит диалог:

Скриншот
(Нажмите на изображение, чтобы увеличить)

Это также может быть доступно как «Макет страницы» → «Настройка страницы» → (угловая кнопка) → «Настройка страницы» → «Лист»:

    

Terence
источник
2
Как странно - это единственный правильный и действительный ответ.
Войтех Дональ
7

Это решение не требует от вас выполнения специальных действий до и после каждого раза, когда вам нужно распечатать файл. Он основан на идее использования «области печати», как предложили Теренс и Дон Ливези. Поместите ячейки, которые вы не хотите печатать, за пределы области печати. Если это достаточно хорошо для вас, все готово.

Но вы можете захотеть, чтобы исключенные ячейки появлялись в области печати при редактировании листа. В этом случае для каждой ячейки, которую вы хотите отобразить, но не распечатать:

  • Вставьте «форму». (Прямоугольник работает лучше всего.) Поместите его над ячейкой, в которой вы хотите, чтобы данные появлялись. Отформатируйте это визуально, как вы хотите. Лучше всего не иметь границы. Установите цвет заливки на любой желаемый для цвета фона или не используйте заливку, чтобы позволить цвету заливки базовой ячейки просвечивать (и сделать саму форму невидимой).
  • Сконфигурируйте форму для отображения содержимого нужной ячейки, выбрав форму, а затем напечатав ссылку (например, =D15) в строке формул в верхней части . Не просто печатать в форме; если вы сделаете это, формула ( =D15) будет отображаться буквально.
  • Щелкните правой кнопкой мыши по фигуре и выберите «Форматировать фигуру». В разделе «Свойства» вы можете выбрать, будет ли фигура напечатана или нет (сняв флажок «Печатать объект»). (В Excel 2013 это находится в разделе «Параметры формы» → «Размер и свойства» → «Свойства».)
Oro108
источник
Непечатная форма очень полезна, когда вам нужно только включить инструкции пользователя. (Вот почему я читал это).
Теодор
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

Ссылки:

Krazy_Kaos
источник
Это очень плохое решение, и ссылки больше не работают.
Войтех Дональ
2

Я решил ту же проблему, создав отдельный лист и скопировав там ссылку на информацию. Для этого выделите весь исходный лист и скопируйте его ( Ctrl+ C). Перейдите на новый лист и щелкните правой кнопкой мыши первую ячейку. Выберите значок ссылки в параметрах вставки. Все вставленное изображение будет неформатировано, поэтому вам придется исправить это. Пустые ячейки будут содержать нули. Это можно исправить, перейдя в «Файл» → «Параметры» → «Дополнительно» и сняв флажок «Показывать ноль в ячейках с нулевым значением».

Теперь вы можете удалить любые ячейки, строки или столбцы, которые вы не хотели бы видеть на распечатках. Лист печати будет обновляться по мере обновления исходного листа.

Если, как и у меня, у вас есть базовый лист, который вы копируете для разных периодов времени или целей, вы можете создать этот печатный лист для базового листа. Если вам нужна новая пара, просто скопируйте оба листа, и новый печатный лист свяжется с новым листом.

Дэвид Б
источник
1

У меня недостаточно очков репутации, чтобы комментировать другие посты, поэтому я добавлю «ответ» с некоторыми замечаниями. У меня была такая же или похожая потребность, и у каждого подхода есть свои плюсы и минусы.

  • Настройка области печати: это может работать в зависимости от макета листа, но не слишком хорошо обрабатывает несмежный выбор области печати. Или, возможно, он справляется с этим очень хорошо, но выбранный подход не работает в моем случае. Например, если у меня есть электронная таблица со столбцами AE и я хочу скрыть столбцы B и D при печати, тогда каждый напечатанный столбец {A, C, E} помещается на отдельную страницу. Не совсем то, что я хотел.

  • Установка текста белым на белый: может работать в некоторых случаях, но ОСТОРОЖНО, это не предотвращает утечку скрытых данных. Если вы пытаетесь скрыть конфиденциальную информацию, знайте, что при печати в PDF данные все равно будут присутствовать в файле PDF. Даже при том, что это белое на белом, это все еще там, и может быть скопировано / вставлено из файла PDF.

Я предпочитаю подход, использующий макросы для скрытия выбранных столбцов при печати, хотя я понимаю, что это может быть неприменимо или лучший выбор во всех ситуациях.

Дон Ливезей
источник
1

Вы можете «скрыть» целые строки или столбцы, щелкнув правой кнопкой мыши строку / столбец и выбрав «Скрыть». Это предотвратит печать (или отображение) строки / столбца. Если у вас есть несколько строк / столбцов, вы можете выделить их «перетаскиванием по щелчку», если они находятся рядом друг с другом, или с помощью «щелчка мышью», если они не расположены рядом Ctrlдруг с другом. Когда строки / столбцы скрыты, их номер / буква не отображаются. Чтобы отобразить их, просто выделите строки / столбцы с обеих сторон, щелкните правой кнопкой мыши и выберите «Показать».

Я не уверен, что вы можете предотвратить печать отдельных ячеек, кроме изменения цвета шрифта. Вы можете быть в состоянии автоматизировать это с условным форматированием.

RSMoser
источник
1
Но ФП не стремится скрывать ячейки, а предотвращает их печать.
Войтех Дональ
@ VojtěchDohnal, скрывающий ячейку, также скрывает ее от печати. Предположительно, однажды напечатанный, вы можете затем показать.
iheanyi
0

Кроме того, скрытие столбцов или строк, как предлагается выше. Вы можете рассматривать пользовательские представления как простой способ применить и отменить то, что вы не хотите показывать.

Например, если вы печатаете один столбец для продавца, другой для склада и еще один со всем, вы можете создать индивидуальное представление для каждого и легко переключиться на любой.

datatoo
источник
0

Другой простой способ - временно очистить содержимое ячейки, выделив выделенные ячейки - щелкните правой кнопкой мыши и выберите «Очистить содержимое».

введите описание изображения здесь

Теперь вы можете распечатать, а затем нажать кнопку «Отменить», и все вернется к норме.

Багги шорты
источник
Я не понимаю, как за этот ответ можно было проголосовать ... Если вы не хотите, чтобы ячейки печатались, просто удалите их ...
Войтех Дональ
Ячейки могут содержать значения (например, процент прибыли), которые должны использоваться в расчетах по формуле, т.е. переменные. Если он удален, то вычислений нет!
переработанная сталь
0

Я пошел по пути «чистого содержимого» и могу сказать, что в напряженный день нетрудно забыть отменить что-то только ради печати.

Мой процесс с тех пор состоит из наличия «рабочей» (исходной) вкладки с сообщением «не трогать» всех коллег, работающих в моем файле, а также «печатной» (целевой) вкладки, которая рисуется непосредственно из рабочей вкладки без приходится беспокоиться о том, чтобы очистить, скрыть или вспомнить, чтобы положить обратно.

Когда я обновляю источник, получатель получает всю необходимую информацию, и я не теряю много часов работы, мне лучше было бы выполнить резервное копирование.

Кроме того, сделайте резервную копию ваших файлов, хе-хе.

ура

Т. Миллер II
источник
0

Чтобы запретить печать строки или столбца, вы можете скрыть их от просмотра:

  1. Выберите строку (и) / столбец (и)
  2. Щелкните по нему правой кнопкой мыши
  3. Выберите «Скрыть» в контекстном меню

Альтернативный способ - создать группу, а затем свернуть ее:

  1. Выберите строку (и) / столб (ы)
  2. Выберите вкладку « Данные » (на ленте) -> кнопку « Группа» в группе « Структура ».

Теперь вы можете быстро свернуть / развернуть строку (и) / столбец (и) для редактирования / печати.

Также взгляните на видео, описывающее несколько способов скрыть ячейки (в том числе описанные выше).

Lu55
источник
0

Принимая во внимание предыдущий совет, что белый шрифт может быть виден при печати PDF, я использую следующую технику:

Используйте ячейку вне области печати с записью «1» или «0».

Затем я ссылаюсь на это поле в условном форматировании всех ячеек, которые не нужно печатать.

Если A1=0затем установите формат белым шрифтом.

Если A1=1затем установите формат на черный или любой другой цвет шрифта, который вы хотите.

Вторая строка может не потребоваться, но она также позволяет выделять области, используя разные номера для диапазона или отдельные ячейки, для фона, границ и шрифтов, которые вы выбираете, выбирая диапазон чисел в ячейке A1.

Даррен
источник
Как это останавливает печать PDF в белом? Разве ячейки, для которых вы устанавливаете белый цвет с помощью условного форматирования, не напечатаны такими же белыми на PDF, как были раньше?
Энди Мохр
Да, но это решает первоначальный вопрос о том, как переключаться между непечатаемыми ячейками (белым шрифтом) и просматривать их на листе, используя содержимое ячейки A1 (0 или 1) для включения и выключения белых ячеек шрифта.
Даррен