Условное форматирование Excel на основе условий

#excel #conditional-formatting

Вопрос:

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

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

У меня есть один по имени СайсиеСО и два диапазона. Диапазон 1 (C:H), в котором я ввожу шесть чисел, и диапазон 2 (N:R), в котором я ввожу 5 чисел.

Я хотел бы, чтобы на рабочем листе в диапазоне (C: H) ячейки меняли цвет в зависимости от следующих условий:

любая ячейка в диапазоне (C:H) должна быть окрашена красным белым шрифтом, если их значение равно значению в N

любая ячейка в диапазоне (C:H) должна быть окрашена оранжевым черным шрифтом, если их значение равно значению в O

любая ячейка в диапазоне (C:H) должна быть окрашена в желтый цвет черным шрифтом, если их значение равно значению в P

любая ячейка в диапазоне (C:H) должна быть окрашена синим черным шрифтом, если их значение равно значению в Q

любая ячейка в диапазоне (C:H) должна быть окрашена оранжевым черным шрифтом, если их значение равно значению в R

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

Пример

          Range (C:H) six numbers                     Range (N:R) 5 numbers

 Dates  
    
 C   D   E   F   G  H                                N   O   P   Q    R

02/08/2019  16  14  11  5   15  7                    4   8   6   3   7
07/08/2019  12  6   2   14  1   5                   12   6   15  5   13
08/08/2019  14  10  7   6   13  8                   14  10   12  7   9
09/08/2019  8   16  6   10  7   2                    7  16   2   8   4
 

Я надеюсь, что вы сможете дать мне ответ

Заранее большое спасибо

Бруно

Комментарии:

1. Я не понимаю, почему вы не могли бы добиться этого с помощью условного форматирования .

Ответ №1:

Я советую вам не использовать VBA, а сделать это с помощью условного форматирования, основной функции Excel, как описано в этом URL-адресе.

Вы можете просто написать формулу, и когда эта формула даст «TRUE», будет применено условное форматирование.

Например, в ячейку C2 я ввел значение, а в ячейку N2 я ввел то же значение. Затем я создал правило условного форматирования, основанное на этой формуле:

 =(C2=$N2)
 

Когда C2 равно N2, результат этой формулы дает «TRUE», поэтому будет применено условное форматирование.

Почему знак доллара перед колонкой N? Ну, вы, кажется, хотите использовать условное форматирование для диапазона C:H. При перетаскивании вправо (например, для столбца D) ваша формула изменяется на:

 =(D2=$N2)
 

Как видите, перетаскивание вправо изменяет ссылку на ваш столбец с C на D, но N слева фиксирован, из-за знака доллара. Это называется абсолютной ссылкой на ячейки и объясняется здесь.

Комментарии:

1. Добрый вечер, я последовал и применил то, что вы упомянули в своем ответе, и вот, это сработало как сон. Благодаря вам я узнал кое — что новое и сэкономил себе часы работы. Я не могу отблагодарить вас как следует.

2. @Бруно: Я рад, что смог помочь. Пожалуйста, поддержите и/или примите мой ответ, чтобы он мог стать более полезным для других людей, у которых есть подобные проблемы.