Ед је поставио овонедељно Екцел питање.
Треба ми једноставан Екцел макро који ће претражити - рецимо - Колону Ц и означити црвеном бојом ћелије које садрже данашњи датум (тренутни датум) и означити жутом било коју другу ћелију у колони која је 15 дана у будућности од данашњег датума?
Корисници програма Екцел 97 или Екцел 2000 могу искористити нову опцију условног форматирања. Хајде да објаснимо како то прво да урадимо ручно без макроа.
- Преместите се у ћелију Ц1.
- Из менија одаберите Формат, Условни формат
- На левој страни дијалога промените падајући мени да бисте прочитали „Формула је“
- У десну страну дијалошког оквира унесите:
=INT(C1)=TODAY()

- Кликните формат, кликните Обрасци, одаберите Црвено. Кликните ОК
- Кликните на Адд…
- На левој страни дијалога промените падајући мени да бисте прочитали „Формула је“
- У десну страну дијалошког оквира унесите:
=AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)
- Кликните Формат, кликните Паттернс, Пицк Иеллов. Кликните ОК.
- Кликните на дугме У реду да бисте завршили са додељивањем овог условног формата ћелији Ц1.

Ако је формат правилно унесен, ћелија Ц1 ће се променити у црвену ако садржи данашњи датум и у жуту ако је датум у следећих 15 недеља. Функција ДАНАС () у формату осигураће да ће, ако отворимо радну свеску другог дана, црвеном бојом означити ћелије за тај дан.
Сада можете копирати ћелију Ц1, означити све податке у колони Ц и извршити Уређивање> Посебно лепљење> Формати> У реду да бисте тај формат применили на сваку ћелију у колони Ц.
Следећи макро аутоматски ће доделити условни формат:
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
За кориснике програма Екцел 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
Функција формуле функције условног формата је врло моћна и омогућиће вам да истакнете ћелије које одговарају разним критеријумима.