Виділити терміни - Поради Excel

Ед задав запитання Excel на цьому тижні.

Мені потрібен простий макрос Excel, який буде шукати - скажімо - стовпець C і виділяти червоним кольори клітинки, що містять сьогоднішню дату (поточну дату), і виділяти жовтим будь-яку іншу клітинку в стовпці, яка становить 15 днів у майбутньому від сьогоднішньої дати?

Користувачі Excel 97 або Excel 2000 можуть скористатися новою опцією умовного форматування. Давайте розглянемо, як це зробити вручну без макросу.

  • Перейти до комірки С1.
  • У меню виберіть Формат, Умовний формат
  • У лівій частині діалогового вікна змініть спадне меню, щоб прочитати "Формула є"
  • У правій частині діалогового вікна введіть: =INT(C1)=TODAY()
Встановлення умовного форматування
  • Формат клацання, Клацання шаблонів, вибір червоного. Клацніть OK
  • Натисніть Додати…
  • У лівій частині діалогового вікна змініть спадне меню, щоб прочитати "Формула є"
  • У правій частині діалогового вікна введіть: =AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)
  • Клацніть Формат, Клацніть візерунки, Виберіть жовтий. Клацніть OK.
  • Натисніть OK, щоб завершити присвоєння цього умовного формату комірці C1.
Результат умовного формату

Якщо формат введено правильно, клітинка C1 зміниться на червону, якщо вона містить сьогоднішню дату, і на жовту, якщо дата буде в найближчі 15 тижнів. Функція TODAY () у форматі гарантує, що якщо ми відкриємо книгу в інший день, вона червоним кольором виділить клітинки цього дня.

Тепер ви можете скопіювати комірку C1, виділити всі дані у стовпці C та зробити «Редагувати»> «Особлива вставка»> «Формати»> «ОК», щоб застосувати цей формат до кожної комірки у стовпці C.

Наступний макрос автоматизує призначення умовного формату:

Sub Macro2() Range("C1").Select Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=INT(C1)=TODAY()" Selection.FormatConditions(1).Interior.ColorIndex = 3 Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)" Selection.FormatConditions(2).Interior.ColorIndex = 6 Selection.Copy FinalRow = Range("C15000").End(xlUp).Row Range("C2:C" & FinalRow).Select Selection.PasteSpecial Paste:=xlPasteFormats End Sub

Для користувачів Excel 95 у вас немає умовного форматування, але ви можете використовувати такий макрос:

Sub Macro95() ThisDate = Date FinalRow = Range("C15000").End(xlUp).Row For x = 1 To FinalRow ThisCell = Int(Range("C" & x).Value) If ThisCell = ThisDate Then Range("C" & x).Interior.ColorIndex = 3 Else DaysFromNow = ThisCell - ThisDate If DaysFromNow> 0 And DaysFromNow < 16 Then Range("C" & x).Interior.ColorIndex = 6 End If End If Next x End Sub

Функція формули функції умовного форматування є дуже потужною і дозволяє виділити комірки, які відповідають різним критеріям.

Цікаві статті...