[Excel 2007 UK] - Cellen een bepaalde kleur geven

Pagina: 1
Acties:
  • 827 views sinds 30-01-2008
  • Reageer

  • Snowwie
  • Registratie: September 2003
  • Laatst online: 19:48
Ik heb in Excel drie kolommen met gegevens. Deze gegevens komen voort uit een ander deel van de sheet en het is de bedoeling dat via een formule de cellen de volgende kleuren krijgen:

code:
1
2
3
4
5
Waarde 1 - Waarde 2 - Waarde 3

Hoogste waarde = groen
Middelste waarde = geel
Laagste waarde = rood

Let wel op, de cellen zelf moeten gekleurd worden, niet de cijfers. Hieronder een voorbeeld hoe het moet worden. De kleuren zijn in dit voorbeeld handmatig ingevoerd, maar ik zou graag willen dat dit automatisch door Excel wordt gedaan.
Afbeeldingslocatie: http://magical.tweakdsl.nl/GoT/cellen.png

Ik heb de search er op nagekeken en de meesten vragen hoe ze de cijfers of letters zelf kunnen kleuren. Dat wil ik dus niet. Van de hulp file wordt je helemaal al niets wijs. Je kunt wel zoekwoorden invoeren, maar er komen dan 1001 artikelen die er helemaal niets mee te maken hebben.

Dus in dit voorbeeld. De bovenste rij, 365.37 - 277.40 en 296.74, daar zou uit de formule moeten blijken dat 365.37 de hoogste waarde is, en dat die cel groen moet worden. Voor de andere cellen geldt respectievelijk rood en geel. De formule moet de 3 met elkaar vergelijken.

Het is de engelse versie van Excel van Office 2007.

Bestaat zo'n optie in Excel wel eens?

Mijn YouTube Channel


  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

met "voorwaardelijke opmaak" moet dit kunnen, en dan per regel invoeren. Ik weet ff niet hoe dit in 2007 heet, onder 2003 kun je het benaderen via opmaak->voorwaardelijke opmaak.

edit:
ik bedenk me net dat je meerdere cellen moet vergelijken en verschillende opmaken als result wilt hebben.... ik weet niet of dit al in 2007 zit... t/m 2003 iig niet. Ziets los je dan op met een vbscript in de visual basic editor van excel.
Onderstaand heb ik wel eens gebruikt om gewerke uren weer te geven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'sub voor elke wijziging in werkblad
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim x
    For x = 10 To 21
        Select Case Worksheets("Blad1").Range("G" & x).Value
            Case 0
                Worksheets("Blad1").Range("G" & x).Interior.Color = 39423
                Worksheets("Blad1").Range("H" & x).Interior.Color = 39423
            Case Is < 0
                Worksheets("Blad1").Range("G" & x).Interior.Color = 255
                Worksheets("Blad1").Range("H" & x).Interior.Color = 255
            Case Is > 0
                Worksheets("Blad1").Range("G" & x).Interior.Color = 52377
                Worksheets("Blad1").Range("H" & x).Interior.Color = 52377
            Case Else
                Worksheets("Blad1").Range("G" & x).Interior.Color = 39423
                Worksheets("Blad1").Range("H" & x).Interior.Color = 39423
        End Select
    Next x
End Sub


Met dit stukje code ga je de rijen 10 t/m 21 na (als er iets wijzigt in de excelsheet), vervolgens wijzigt hij in de kollomen G en H op de betreffende rij de achtergrondkleur...
Als de waarde 0 is -> kleurcode 39423
Als de > 0 is -> kleurcode 52377
Als de < 0 is -> kleurcode 255

Zoiets zou je voor je 3 verschillende waardes ook kunnen bedenken.

[ Voor 85% gewijzigd door Rfce op 23-04-2007 16:16 ]

euh...ja


  • cowgirl
  • Registratie: November 2000
  • Laatst online: 18-12-2025
In de home-ribbon onder styles vind je 'conditional formatting'. Je kan de standaard achtergrondkleur op geel zetten, dan via top/bottom rules de top1 op fill green en de bottom1 op fill red.

  • Quincy5
  • Registratie: November 2006
  • Laatst online: 10:11
Doordat de laatste opmaak-conditie de eerdere condities overschrijft (heb hier toevallig vorige week mee zitten rommelen voor mijn werk; ook 2003) moet het denk ik mogelijk zijn het hiermee te doen.

PV Output


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Rfce schreef op maandag 23 april 2007 @ 16:07:
met "voorwaardelijke opmaak" moet dit kunnen, en dan per regel invoeren. Ik weet ff niet hoe dit in 2007 heet, onder 2003 kun je het benaderen via opmaak->voorwaardelijke opmaak.

edit:
ik bedenk me net dat je meerdere cellen moet vergelijken en verschillende opmaken als result wilt hebben.... ik weet niet of dit al in 2007 zit... t/m 2003 iig niet.
Zolang het beperkt blijft tot drie kleurtjes is dat ook zonder VBA geen enkel probleem. Bij voorwaardelijke opmaak iets als
code:
1
2
3
celwaarde is gelijk aan =(grootste($A1:$C1;1))
resp
celwaarde is gelijk aan =(kleinste($A1:$C1;1))

werkt prima :)

[ Voor 4% gewijzigd door Lustucru op 23-04-2007 17:35 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

Lustucru schreef op maandag 23 april 2007 @ 17:34:
code:
1
2
3
celwaarde is gelijk aan =(grootste($A1:$C1;1))
resp
celwaarde is gelijk aan =(kleinste($A1:$C1;1))

werkt prima :)
Je hebt gelijk.. ik ga soms eens te snel naar vba zonder binnen excel te kijken naar functies 8)

euh...ja

Pagina: 1