Поточна дата в Excel

Як підсвітити поточну дату в таблиці Excel

Якщо вам потрібно, щоб одразу після відкриття книги Excel комірки в яких дата співпадає з сьогоднішньою підсвічувалися певним кольором, то зробити це можна двома способами:

  1. За допомогою Умовного форматування.
  2. За допомогою VBA.

Таке рішення може знадобитися вам, якщо є таблиця Excel з днями народження людей і ви не хочете пропустити цей день. Або, можливо у вас є певні важливі дати з подіями і потрібно щоб вони підсвічувалися в той день, коли ця подія сталася.

Як на мене, то найпростіше визначити поточну дату в комірках таблиці Excel використовуючи Умовне форматування. Але VBA дає нам трішки більше можливостей.

Визначення поточної дати за допомогою Умовного форматування

  1. Відкрийте Книгу Excel.
  2. Виділіть діапазон комірок в яких потрібно буде шукати поточну дату.
  3. На вкладці Основне у блоці команд Стилі оберіть Умовне форматування → Створити правило.
  4. У вікні що з’явилося виберіть Використовувати формулу для визначення клітинок для форматування.
  5. В поле Форматувати значення, для яких ця формула має значення ІСТИНА введіть =TEXT(B2;"d m")=TEXT(NOW();"d m"). Цією формулою ми порівнюємо дати без урахування року. Для цього, за допомогою функції TEXT, ми перетворюємо значення комірки B2 у текстовий формат, що містить тільки день (d) і місяць (m). Те саме ми робимо і з поточною датою, яку отримуємо за допомогою функції NOW() – перетворюємо значення у текстовий формат, що містить тільки день і місяць. Після цього, ми порівнюємо текстові результати.
  6. Натисніть на кнопку Форматувати…
  7. У вікні що з’явилося перейдіть на вкладку Заливка і оберіть колір заливки який матиме та комірка в якій дата співпадає із сьогоднішньою.
  8. Натисніть OK.
  9. Натисніть OK.

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

Пошук поточної дати в комірках за допомогою VBA

Щоб реалізувати аналогічне завдання з використанням VBA, можна створити макрос, який застосовуватиме умовне форматування до комірок з датами, що збігаються з поточною.

Для цього:

  1. Відкрийте Книгу Excel.
  2. Зробіть клік правою кнопкою миші по назві аркуша (в моєму випадку це Аркуш1) і у меню що з’явилося оберіть Перегляд коду. Або натисніть Alt+F11.
  3. У вікні Проектів VBA клацніть правою кнопкою миші по ЦяКнига (ThisWorkbook) і оберіть пункт View Code.
  4. У вікно редагування коду вставте наведений нижче код і обов’язково збережіть файл як Книга Excel із підтримкою макросів.

Код VBA для пошуку і порівняння дати

Private Sub Workbook_Open()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim todayDayMonth As String

    ' Вказуємо робочий лист, де потрібно перевіряти дати
    Set ws = ThisWorkbook.Sheets("Аркуш1") ' Замініть "Аркуш1" на назву вашого аркуша

    ' Встановлюємо діапазон, який потрібно перевірити
    Set rng = ws.Range("B2:B100") ' Замініть на ваш діапазон комірок

    ' Отримуємо поточний день і місяць у форматі "d m"
    todayDayMonth = Format(Now, "d m")

    ' Перебираємо комірки в діапазоні
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            If Format(cell.Value, "d m") = todayDayMonth Then
                ' Встановлюємо фон комірки
                cell.Interior.Color = RGB(255, 255, 0) ' Жовтий фон
            Else
                ' Знімаємо виділення (колір фону), якщо дата не збігається
                cell.Interior.Color = xlNone
            End If
        End If
    Next cell
End Sub

Тепер, кожного разу, коли ви будете відкривати дану книгу, відбуватиметься порівняння значень в заданому вами діапазоні комірок із поточною датою. І якщо значення будуть співпадати, то комірка зафарбовуватиметься в потрібний вам колір.

Відео: Як знайти поточну дату в комірках

Main Menu