Условное форматирование, чтобы скрыть содержимое ячейки даже при печати - PullRequest
7 голосов
/ 09 марта 2011

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

Вот что происходит, когда я делаю серый на сером (они предположительно одного цвета):

Gray on gray still shows up

Я использую Excel 2008 на Mac.

Ответы [ 5 ]

11 голосов
/ 20 июня 2015

Ниже в A2 у нас есть условное форматирование, которое скрывает содержимое этой ячейки, если оно равно B2.

enter image description here

В условном форматировании создайте следующее правило: =$A$2=$B$2, затем нажмите Формат ...

enter image description here

  1. В меню Формат выберите Ячейки, а затем перейдите на вкладку Число.
  2. В разделе Категория выберите Пользовательский.
  3. В поле Тип введите ;;;(то есть три точки с запятой подряд) и нажмите кнопку ОК.

enter image description here

0 голосов
/ 04 февраля 2019

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

Это вытекает из хорошо известного эффекта, что для любого данного цвета большая область этого цвета будет выглядеть темнее, чемнебольшая площадь точно такого же цвета.Есть другие эффекты, которые дают эту иллюзию - такие как фон и близлежащие цвета.Для примера - который не совсем совпадает с вашим - но иллюстрирует иллюзию, поищите в Интернете «шахматную доску Адельсона» и прочитайте объяснения.

В любом случае, решение, предложенное mpalanco (используйте условное форматированиеиз трех точек с запятой) - это самый простой способ достичь чистого результата - каждый раз печатать на бумаге, печатать в формате PDF, на экране и в любой другой форме.

0 голосов
/ 12 марта 2014

Другой способ - это взломать, но он должен работать:

  • есть два листа данных и просмотра
  • основываете ваше условное форматирование на листе просмотра значений из таблицы данных (не уверен, если это опция ...)
  • используйте операторы if в каждой ячейке, которые говорят что-то вроде if(dataCell=matchCell, "", dataCell)
0 голосов
/ 16 августа 2014

Поэтому я думаю, что для получения желаемого эффекта вам нужно будет использовать макрос для проверки содержимого ячейки.Событие worksheet_change должно работать хорошо.

Чтобы этот код работал, мне нужно, чтобы вы сообщили мне диапазон ячеек, значения которых должны быть скрыты, и диапазон ячеек, с которыми мы проверяем значения.1003 *

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range.Address Then
    For Each VariantValue in OtherRange
        If Range.Value = VariantValue Then
           Range.NumberFormat = ";;;"
        End If
    Next
End if
End Sub

http://www.extendoffice.com/documents/excel/919-excel-hide-cell-contents.html

http://www.ozgrid.com/VBA/run-macros-change.htm

0 голосов
/ 09 марта 2011

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

...