Podświetlanie terminów - wskazówki dotyczące programu Excel

Ed zadał pytanie dotyczące programu Excel w tym tygodniu.

Potrzebuję prostego makra Excela, które przeszuka - powiedzmy - kolumnę C i podświetli na czerwono komórki zawierające dzisiejszą datę (bieżącą datę) i podświetli na żółto dowolną inną komórkę w kolumnie, która jest 15 dni w przyszłości od dzisiejszej daty?

Użytkownicy programu Excel 97 lub Excel 2000 mogą skorzystać z nowej opcji formatowania warunkowego. Omówmy najpierw, jak to zrobić ręcznie bez makra.

  • Przejdź do komórki C1.
  • Z menu wybierz Format, Format warunkowy
  • W lewej części okna dialogowego zmień listę na „Formuła to”
  • W prawej części okna dialogowego wprowadź: =INT(C1)=TODAY()
Ustawianie formatowania warunkowego
  • Kliknij format, Kliknij Wzory, wybierz Czerwony. Kliknij OK
  • Kliknij Dodaj…
  • W lewej części okna dialogowego zmień listę na „Formuła to”
  • W prawej części okna dialogowego wprowadź: =AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)
  • Kliknij Format, kliknij Wzory, Wybierz żółty. Kliknij OK.
  • Kliknij OK, aby zakończyć przypisywanie tego formatu warunkowego do komórki C1.
Wynik formatu warunkowego

Jeśli format zostanie wprowadzony poprawnie, komórka C1 zmieni kolor na czerwony, jeśli zawiera dzisiejszą datę, i na żółty, jeśli data przypada na następne 15 tygodni. Funkcja DZIŚ () w formacie zapewni, że jeśli otworzymy skoroszyt innego dnia, podświetli on na czerwono komórki tego konkretnego dnia.

Możesz teraz skopiować komórkę C1, zaznaczyć wszystkie dane w kolumnie C i wykonać Edycja> Wklej specjalnie> Formaty> OK, aby zastosować ten format do każdej komórki w kolumnie C.

Poniższe makro zautomatyzuje przypisywanie formatu warunkowego:

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

W przypadku użytkowników programu Excel 95 nie masz formatowania warunkowego, ale możesz użyć takiego makra:

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

Funkcja formuły funkcji formatowania warunkowego ma bardzo duże możliwości i umożliwia wyróżnianie komórek spełniających różne kryteria.

Interesujące artykuły...