Это можно сделать намного проще с условным форматированием.Примените эту формулу к диапазону, в котором находятся ваши даты:
=MONTH(A1)=MONTH(NOW())
. Это позволит выделить каждую ячейку в этом диапазоне, в которой есть дата в текущем месяце.Обязательно замените «А1» на первую ячейку в этом диапазоне.Или, если вы хотите выделить всю строку, введите «$ * Столбец * 1», где Столбец - это столбец, в котором находятся даты. Затем примените его ко всему листу.
EDIT Поскольку я все еще верю в этот ответ больше, чем в VBA, я также отвечу на вопросы в комментариях к этому ответу:
Сегодняшнюю дату можно выделить формулой:
=A1=TODAY()
РЕДАКТИРОВАТЬ 2 После некоторых трудностей и обучения с моей стороны лучшая формула для освещения выходных дней выглядит следующим образом:
=IF(CELL("format",A1)="D1",WEEKDAY(A1,2)>5,FALSE)
С благодарностьюto @ shrivallabha.redij и @Foxfire And Burns And Burns