Условное форматирование для скрытия содержимого ячейки даже при печати

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

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

Gray on gray still shows up

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

4 ответов


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

enter image description here

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

enter image description here

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

enter image description here


другой способ обойти это хак, но он должен работать:

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

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


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

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

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