28. oktober 2011 - 09:45Der er
35 kommentarer og 1 løsning
ændre cellefarve hvis andre celler er farvede
Jeg har et regneark i excel 2007 hvor celler i 3 forskellige kolonner skifter farve ved hjælp af betinget formattering. Der skiftes til 2 forskellige grønne farver afhængig af om cellen opfylder budget (mørk grøn) eller om cellens værdi er den største (lys grøn).
I arket er der i alt 11 kolonner som har hver deres fyldfarve.
Mit spørgsmål er:
Jeg vil gerne have at cellerne i kolonne A skifter til grøn hvis alle cellerne i kolonne d, f, i er enten lysegrønne eller mørkegrønne.
Hvorfor.
Kolonne A er et navn. Jeg vil gerne at navnet fremhævet når budgettet i d, f og i er opnået.
Det er ikke en manuel indtastning i den enkelte celle. Hver kolonne er regelstyret af betinget formattering, hvor kolonnens celler sammenlignes med værdierne fra cellerne i samme kolonne. Data kommer fra et andet excel dokument. DVS. først hentes data, dernæst farves de celler lysegrønne/mørkegrønne som opfylder de kriterier der er angivet for regelstyringen.
Kan det ikke også klares ved betinget formatering? Altå, en formel som indeholder en kombination af de kreterier du har for betinget formatering i kolonne d, f og i
Ja det var også det jeg har prøvet at søge i første omgang, men ikke har fundet svar på hvordan. Om det gøres på den ene eler anden måde er underordnet. Bare det virker :-)
Ovenstående er et eksempel hvor at kolonne D skal være over 5 og kolonne F skal være over 50 og kolonne I skal være over 500.
1)Marker kolonne A (eller kun det område du ønsker) 2)Vælg "Betinget formatering" 3)Vælg "Ny regel" 4)Vælg "Brug en formel til at bestemme, hvilke celler der skal formateres 5)indsæt min formel og lav værdierne om ud for D, F og I
Det er forskelligt fra dag til dag. Det er heller ikke vigtigt hvad budgettet er det der betyder noget er at felterne er bevet farvede grønne. Det er det som det hele omhandler.
Til: Ialocin
Det hedder vist statisk. Det er altid linie 8-23. Hvis det gør det lettere, så kan jeg godt ændre så vi kun taler 1 farve altså kun en grøn farve.
@sleni, det er jeg klar over, men det er ligegyldigt. Der er stadig noget der definerer om de farves og dette kan replikeres og puttes ind i formlen i stedet for 5, 50 og 500.
Fx. kunne formlen se sådan ud, hvis D bliver grøn ved at den er større end gennemsnittet i kolonne D, så kunne formlen se således ud:
=OG(D1>MIDDEL($D$8:$D$23);F1>50;I1>500)
Det eneste vi skal vide er hvad der definerer det og da du tidligere har sagt at det er regelbaseret burde det være en smal sag at finde ud af.
Det kan også sagtens laves i VBA, men det virker måske ikke helt som løsningen for dig.
...ikke helt det du efterspørger, men relativt enkel.
Hvis du indsætter denne formel =HVIS(D9=0;"0";HVIS(E9=0;"0";HVIS(F9=0;"0";"1")))
i en ledig kolonne fx. kolonne Z i række 9, så vil den skrive "0" i rubrik z9 , med mindre d9 e9 f9 alle rummer en værdi som er ulig nul (tom celle tællerogså som "Nul") mens den vil skrive 1, hvis alle tre celler er udfyldte(ulig nul).
den celle kan du så anvende som "nøgle til din normale betingede formatering.
I kolonne A indbygger du ALLE de betingede formatteringer som benyttes i 11 kolonner du ønsker evalueret. Giver sikkert en lang formel, men det burde kunne lade sig gøre.
Alternativt skriver du i A1 =ColoredCellsEvaluate("B1:L1")
I et kodemodul indsætter du følgende VBA funktion: Public Function ColoredCellsEvaluate(rCountArea As Range) As Boolean Application.Volatile Const iGreenDark As Integer = 10 Const iGreenLight As Integer = 43 Dim bRetVal As Boolean Dim rCell As Range
For Each rCell In rCountArea Select Case rCell.Interior.ColorIndex Case iGreenDark, iGreenLight bRetVal = True Case Else bRetVal = False Exit For End Select Next rCell
ColoredCellsEvaluate = bRetVal End Function
NB. Måske skal du ændre 10 og 43 så det passer til de baggrundsfarver du benytter.
Måske skal markere en grøn celle og så i VBA's Immediate vindue skrive: ?ActiveCell.Interior.ColorIndex og trykke enter så du får index koden på dine grønne farver
"I kolonne A indbygger du ALLE de betingede formatteringer som benyttes i 11 kolonner du ønsker evalueret. Giver sikkert en lang formel, men det burde kunne lade sig gøre."
HVor dan vælger jeg i betinget formattering at den skal farve A1 grøn kun hvis BÅDE D1, F1 og I1 er grønne? I øjeblikket ser den pågældende formattering således ud for de 3 celler:
Formater kun celler med: Celleværdi større end eller lig med =$I$34
Jeg tror jeg dropper den lysegrønne farve. Der er derfor kun 1 grøn farve der skal tages hensyn til.
Jooo det kunne måske bruges. Vigtigt og som jeg ikke har sagt før, så sorteres linierne 8 til 23, så hvis i celle A8 skriver dit eksempel bare med D8, F8, I8, så sorteres dette vel ikke med?
Skal den betingede formatering ikke gælde for A8 til A23 i det tilfælde? Så skal den selvfølgelig indsættes i A8, A9, A10 osv. Du kan evt. bruge formatpensel......
Prøv lige at sætte den ind, det tager jo kun et øjeblik....
Så kom jeg hjem fra ferie, så undskyld den sene respons :-)
Vejmand :-)
Det har du ret i. Det virker ikke helt. Kan se at jeg lige skal fortælle hvad der sker i den enkelte linie med række 8 som eksempel.
Det der sket nu:
D8 bliver grøn hvis værdien => end I35 E8 bliver grøn hvis værdien => end I36 F8 bliver grøn hvis værdien => end I34 I8 bliver grøn hvis værdien => end I33
Det der også gerne skulle ske
A8 bliver grøn hvis både D8, E8, F8, I8 er grønne.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.