Как выделить каждый понедельник и добавить исключения? CF / VBA

Как выделить каждый понедельник и добавить исключения? CF / VBA

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

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

Как мне решить эту проблему? Есть ли способ сделать это с помощью условного форматирования или VBA — это выход? Как мне с этим справиться?

Конструкция календаря и внизу возможная форма:

[Построение календаря и внизу возможная форма]

решение1

Да, это возможно с помощью условного форматирования, например:

Лист1:

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

Лист2:

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

  • Выберите Лист1, диапазонB2:whichever is your last cell in the matrix
  • Применить правило условного форматирования

    =AND(WEEKDAY(B$1,2)=1,$A2=Sheet2!$A$2,OR(B$1<Sheet2!$C$2,B$1>Sheet2!$D$2))
    

Результат:

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

Обратите внимание, как я использовал WEEKDAYи вместо того, чтобы напечатать, какой день я имел в виду 1(будучи понедельником)

Вы сможете настроить его в соответствии со своими потребностями.

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

Связанный контент