Nyt olisi hyvät neuvot tarpeen, kun oma taito loppuu kesken...
Minulla on excel-taulukko, missä D-sarakkeessa on ehdollinen muotoilu siten, että jos solun arvo on suurempi kuin 135, solun väri muuttuu punaiseksi ja jos arvo on pienempi kuin 110, väri muuttuu siniseksi.
Miten saisin tehtyä ehdollisen muotoilun niin, että solut, joissa ei ole mitään arvoa eli ovat tyhjiä, olisivat valkoisia? Nyt kaikki tyhjät solut ovat sinisiä. Tarkoitus olisi, että tyhjät solut ja 110-135 välillä olevien arvojen solut olisivat valkoisia.
Minulla on excel-taulukko, missä D-sarakkeessa on ehdollinen muotoilu siten, että jos solun arvo on suurempi kuin 135, solun väri muuttuu punaiseksi ja jos arvo on pienempi kuin 110, väri muuttuu siniseksi.
Miten saisin tehtyä ehdollisen muotoilun niin, että solut, joissa ei ole mitään arvoa eli ovat tyhjiä, olisivat valkoisia? Nyt kaikki tyhjät solut ovat sinisiä. Tarkoitus olisi, että tyhjät solut ja 110-135 välillä olevien arvojen solut olisivat valkoisia.
Vastaukset 10
Vanhimmat
ensimmäiseksi ehdoksi :
formula is d1="" ja no format set
auttaisko se ?
taulukon moduuliin
voit lisätä ja muutella ehtoja haluamallesi ehdoille(useampi kuin 3 ehtoa)
Dim vika As Integer
Dim vika2 As Integer
Dim solu As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo virhe
Application.EnableEvents = False
vika2 = Range("D65536").End(xlUp).Row
If vika2 > vika Then
vika = vika2
End If
For Each solu In Range("D1:D" & vika)
Select Case solu
Case Is > 135
solu.Interior.ColorIndex = 3
Case Is >= 110
solu.Interior.ColorIndex = 2
Case Is = ""
solu.Interior.ColorIndex = 2
Case Is < 110
solu.Interior.ColorIndex = 5
End Select
Next solu
virhe:
vika = Range("D65536").End(xlUp).Row
Application.EnableEvents = True
End Sub
Kiitos neuvoistanne. Tuossa taitaa olla minulle riittävästi tekemistä tällaisena hellepäivänä - onnistunkohan :)
kopioi/liitä pitäs onnistua... :-)
Suuret kiitokset, kyllä se onnistui - itselläni vaan ei ole minkäänlaista hajuakaan, miten se tapahtui :)
Yritin itse tehdä sitä ehdollisen muotoilun avulla. Aivan uskmatonta tämä tietotekniikka!!
Kunden ratkaisu on hyvä, varsinkin jos ehtoja halutaan asettaa enemmän kuin kolme. Tosin muutaisin kohdat "ColorIndex = 0" muotoon "ColorIndex = xlColorindexNone". Tällöin solujen rajat eivät peity valkoisen pohjavärin alle. (Näin käy ainakin vanhemmissa Excel-versioissa, jos pohjaväri on valkoinen.)
Joka tapauksessa sait jo homman toimimaan. Siltä varalta, että joku muu, mahdollisesti VBA:ta vierastava, painii samantapaisen ongelman kanssa, tässä vielä ratkaisu pelkästään ehdollista muotoilua käyttämällä:
Ehto 1, solun arvo on yhtä suuri kuin 0, ei muotoilua
Ehto 2, solun arvo on suurempi kuin 135, muotoilu punaiseksi
Ehto 3, solun arvo on piemenpi kuin 110, muotoilu siniseksi
Ehdon 1 kohdalla arvo ei siis saa olla "", kuten aiemmin on ehdotettu. Ainoa puute tässä on, että jos solussa on tekstiä, myös se muuttuu punaiseksi.
- Mika
kyllä minä sain sen tuolla toimimaan Excel 2003:ssa
Kiitokset sinulle Mika! Antamasi ohje toimii myös ja siinä tosiaan säilyvät ne ruudukon viivat.
Tosi mukavaa, kun täällä on ystävällisiä auttajia helteistä huolimatta - suuret kiitokset teille kaikille avustanne :)
Siinä tapauksessa näyttäisi silta, että Excel-97, jota itse käytän, toimii tuossa kohtaa eri tavalla. Jos laitan edellisessä esimerkissä ehdon 1 arvoksi "", muuttuvat tyhjät solut punaisiksi. Arvolla 0 ne jäävät ilman muotoilua.
- Mika
Ehdolliseen muotoiluun voit vielä lisätä kolmannen ehdon tyhjiä soluja varten (="")...