Excel-Условное форматирование в формах?

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

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

16
задан arulappan
17.03.2023 1:27 Количество просмотров материала 2839
Распечатать страницу

2 ответа

нет, но можно подделать

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


tl; dr использовать 1 дополнительную ячейку и 1 текстовое поле для каждого условия, которые вы хотите. Каждое текстовое поле настроено для отображения гигантского текста с огромными контурами и тенями, все того же цвета. Дополнительные ячейки настроены показывать только текст, если значение удовлетворяет условию.


  1. создать n вспомогательные столбцы, которые будут отображаться пустыми, если значение не соответствует правильному условию. Простой пример для n = 3 случая могут быть: (мы разберемся, почему я использовал "888" позже

    =IF(A1=1,"888","") =IF(A1=2,"888","") =IF(A1=3,"888","")

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

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

  3. создать 1 текстовое поле правильного размера и поместить в любой текст (например, "Hello World")
  4. формат границы, как вам нравится, но убедитесь, что заливка No Fill
  5. щелкните правой кнопкой мыши по тексту и выберите " Форматировать текстовые эффекты..."в нижней части контекстного меню
  6. установите контур текста сплошной линией правильного цвета для условия 1
  7. установите стиль контура в 25pt или что-то еще очень высокие
  8. установите тень на внешний > смещение по центру с прозрачностью 0% и размером 200%
  9. скопируйте это текстовое поле n-1 раз так, теперь у вас есть n в общей сумме
  10. изменить настройки цвета для каждого, в свою очередь, чтобы быть все, что вам нужно
  11. вернуться назад и установить формулу для каждого, чтобы быть одним из вспомогательных столбцов, будучи уверенным, чтобы подключить его к правильному
  12. если текст заполнить текстовые поля не корректны, вернитесь в каждое и измените его
  13. для каждого текстового поля установите размер шрифта 70 или любой другой размер, необходимый для заполнения поля полностью цветом
  14. как только все настроено, вернитесь назад и измените вспомогательные столбцы на шаблонные. Попросите их показать текст, который занимает много места, например 8, # или какой-то символ коробки.
  15. проверьте его, чтобы убедиться, что для каждого значения одно текстовое поле показывает цвет, а остальные - нет заполните
  16. сложите все текстовые поля (Align > Left и Align > Top может быть полезно) и сгруппируйте их, чтобы они не испортились так же легко

вот несколько скриншотов макета, который я сделал.

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

Value 1

Value 2

Value 3

4
отвечен Engineer Toast 2023-03-18 09:15

Я не уверен, что есть. В 2007 году, как и в предыдущих версиях Excel, FormatConditions можно применять только к диапазонам, а не к фигурам.

однако, если я правильно понимаю вашу ситуацию в том, что вы не можете использовать макросы, я не уверен, что вы сможете применить условное форматирование за кулисами в любом случае ... и если бы вы могли использовать macros / VBA, то вам не обязательно было бы нужно Условное форматирование; вы должны иметь возможность запускать процедуру для форматирования фигур по мере необходимости. Что-то вроде следующего должно работать, но я предполагаю, что вы уже обнаружили эту часть:

ActiveWorkbook.ActiveSheet.Shapes(1).Fill.ForeColor.RGB = RGB(0, 0, 255)

Если вы хотите отформатировать фигуры на основе значений, введенных на листе, то да, было бы проще использовать условное форматирование, если бы оно было доступно.

2
отвечен Dave DuPlantis 2023-03-18 11:32

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх