Ed je ovotjedno postavio Excel pitanje.
Trebam jednostavnu Excel makronaredbu koja će pretražiti - recimo - Stupac C i označiti crveno ćelije koje sadrže današnji datum (trenutni datum) i označiti žutom bilo koju drugu ćeliju u stupcu koja je 15 dana u budućnosti od današnjeg datuma?
Korisnici programa Excel 97 ili Excel 2000 mogu iskoristiti novu mogućnost uvjetnog oblikovanja. Pojasnimo kako to učiniti ručno bez makronaredbe.
- Premjesti u ćeliju C1.
- Na izborniku odaberite Format, Uvjetni format
- Na lijevoj strani dijaloškog okvira promijenite padajući izbornik i pročitajte "Formula je"
- U desnu stranu dijaloškog okvira unesite:
=INT(C1)=TODAY()

- Kliknite format, kliknite Obrasci, odaberite Crveno. Kliknite U redu
- Kliknite Dodaj…
- Na lijevoj strani dijaloškog okvira promijenite padajući izbornik i pročitajte "Formula je"
- U desnu stranu dijaloškog okvira unesite:
=AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)
- Pritisnite Format, kliknite Patterns, Pick Yellow. Kliknite U redu.
- Kliknite U redu da biste dovršili dodjeljivanje ovog uvjetnog formata ćeliji C1.

Ako je format pravilno unet, ćelija C1 promijenit će se u crvenu ako sadrži današnji datum i u žutu ako je datum u sljedećih 15 tjedana. Funkcija DANAS () u formatu osigurat će da će, ako radnu knjigu otvorimo drugog dana, crvenim bojama označiti ćelije za taj dan.
Sada možete kopirati ćeliju C1, istaknuti sve podatke u stupcu C i napraviti Uredi> Posebno zalijepi> Formati> U redu da biste primijenili taj format na svaku ćeliju u stupcu C.
Sljedeća makronaredba automatizirat će dodjeljivanje uvjetnog formata:
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
Za korisnike programa Excel 95 nemate uvjetno formatiranje, ali možete koristiti ovakvu makronaredbu:
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
Značajka formule funkcije uvjetnog formata vrlo je snažna i omogućit će vam da istaknete stanice koje odgovaraju raznim kriterijima.