Microsoft Office Excel
uređuje Dragan Grbić

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Još o Excelu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Uslovno formatiranje ćelija u Excelu 95

Nivo:  NIVO 2 - klinite za objašnjenje


Kad god se pojavi neka nova funkcija u novoj verziji programa, brže-bolje se napravi makro koji to radi u prethodnoj verziji...

Uslovno formatiranje u Excelu 95 je moguće

Jedna od novosti viđenih u Excelu 97 je mogućnost da se opsegu ćelija dodeli svojstvo uslovnog formatiranja. To znači da će nakon unosa podatka ćelija dobiti drugi oblik fonta, boju pozadine ili okvir. Ovakav način formatiranja je prikladan da bi se privukla pažnja na neki karakterističan podatak, što je posebno korisno u velikim tabelama. Uz pomoć VBA, ovakvo ponašanje nekog opsega ćelija je moguće simulirati i u dve prethodne verzije programa.

Označite blok ćelija koji će menjati boju prema sadržaju i dajte mu ime (u primeru se taj blok zove "Proveri"). Potom otvorite novi list modula i unesite makroe iz priloga. Nakon pokretanja makroa Auto_Open ili prilikom sledećeg otvaranja radne sveske, biće aktivirana procedura-zamka koja će nakon svakog unosa proveriti da li unet podatak pripada bloku "Proveri" i u zavisnosti od toga obojiti ćeliju prema predlošku pripremljenom u makrou Proveri_Tip.

Ovakav makro se može iskoristiti i za proveru ispravnosti unetih podataka (što je još jedna od novih mogućnosti Excela 97), dodavanjem sekvence za ispitivanje unete vrednosti.

Upotreba metode OnEntry u ovom primeru izaziva i jednu grešku u funkcionisanju ovog makroa. Naime, ako sa nekog drugog mesta iskopirate sadržaj i ubacite ga u referencirano područje makroa, do uslovnog formatiranja neće doći. Razlog ovome je što ubacivanje sadržaja iz Clipboarda ne izaziva aktiviranje metode OnEntry. Ovo se može rešiti na drugi način, koji je takođe prihvatljiv, ali zahteva više pažnje u organizaciji radnog lista. U neku slobodnu ćeliju, najbolje van pogleda tokom rada, unesite formulu =SUM(Proveri). Svaka promena sadržaja bloka će menjati ovaj zbir, čak i ako se unosi tekst, i aktiviraće se metoda OnCalculate, što je put drugog rešenja. Pri dnu listinga možete videti kako izgleda makro Auto_Open u tom slučaju. Dodat je i red koji osigurava automatsko preračunavanje tabele.

' Makroi kojima se vrši uslovno formatiranje
' ćelije prema sadržaju
'
' aktiviranje procedure-zamke
' pri otvaranju radne sveske
'
Sub Auto_Open()
Worksheets("Sheet1").OnEntry = "Proveri_Tip"
End Sub


' deaktiviranje procedure-zamke
' pri zatvaranju radne sveske
Sub Auto_Close()
Worksheets("Sheet1").OnEntry = ""
End Sub


' makro koji vrši uslovno formatiranje
Sub Proveri_Tip()
Set Opseg = Sheets("Sheet1").Range("Proveri")
For Each cell In Opseg
    With cell
        ' Prazne ćelije
        If IsEmpty(cell) Then
           .Interior.ColorIndex = xlNone
           ' Numeričke ćelije
        ElseIf IsNumeric(cell.Value) Then
           Select Case cell.Value
              Case Is < 0
                 ' belo na crvenom polju
                 ' ako je manje od nule
                 .Interior.Color = RGB(255, 0, 0)
                 .Font.Color = RGB(255, 255, 255)
              Case 0
                 'svetlo plavo polje ako je nula
                 .Interior.Color = RGB(0, 255, 255)
              Case Is > 0
                 'žuto polje za pozitivne brojeve
                 .Interior.Color = RGB(255, 255, 0)
           End Select
        ' beo tekst na crnom polju za ćelije sa greškom
        ElseIf IsError(cell.Value) Then
          .Interior.Color = RGB(0, 0, 0)
          .Font.Color = RGB(255, 255, 255)
        ' zeleno polje za ostale ćelije (tekst, datum)
        Else
          .Interior.Color = RGB(0, 255, 0)
        End If
    End With
Next cell
End Sub


' druga varijanta rešenja:
' metoda OnCalculate
' potrebno je prisustvo formule
' koja izračunava ceo opseg
'
Sub Auto_Open()
Application.Calculation = xlAutomatic
Worksheets("Sheet1").OnCalculate = "Proveri_Tip"
End Sub

Ako vam u ovom rešenju smeta prisustvo ćelije koja sadrži pomenutu formulu, možda nije loše da otvorite novi list i formulu unesete u njemu. U tom slučaju ne zaboravite da promenite odgovarajuće reference radnog lista u makroima. Ukoliko želite, radni list na kome je formula možete sakriti.

 

  (C) 2000-2009 Praktikum na Webu

Mikroračunari 4


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana.