• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Conditional Formatting 3-way color scale

Status
Niet open voor verdere reacties.

WhiteDragon

Gebruiker
Lid geworden
12 nov 2018
Berichten
23
Hallo mensen, ben nieuw op dit forum.
Heb best wat ervaring met excel en wie weet kan ik mijn kennis gaan delen.

Ik ben nu met een sheet bezig, maar kom echter niet uit 1 ding.
Ik heb gegevens tabel op tabblad 2 staan
1 = Rampzalig, 2 = Waardeloos, 3 = Slecht (etc t/m 20)

Nu haal ik op tabblad 1 deze gegevens binnen En staat er bijvoorbeeld dat persoon Jantje = Waardeloos, Kees=Slecht.
Nu wil ik dat Slecht bv groen wordt en banana iets minder groen. Maar dan in een 3scale color verdeeld.

Normaal kan dat met cijfers, (0-20, rood tot groen)
In pricipe is dat nu niet anders, maar moet hij een andere cel inkleuren dan waar de getallen staan (ze matchen wel met elkaar.

Iemand enig idee hoe ik dit kan matchen?
 
Mijn excuses voor het niet lezen van de forumhandleiding.


Maar thanks VenA, dat lijkt er verdacht veel op.
Ik doe al jaren vanalles met Excel, maar altijd met wat extra kolommen om het op te lossen.
Misschien moet ik me wat meer gaan verdiepen in macro's


Maar om het even snel te begrijpen, wat moet ik hier nog in aanpassen?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, ListObjects(1).DataBodyRange.Columns(2)) Is Nothing Then Target.Interior.Color = Target.Offset(, 1).DisplayFormat.Interior.Color
End Sub

Tabblad NEW moet dus ingekleurd worden.

Bekijk bijlage Hattick plan 3.0 - Copy.xlsm
 
Hoe komt het bestand eruit te zien met meer spelers?
 
Ik zou eerst eens beginnen met consistente formules. Zie de aanpassingen in de tab 'NEW' In de tab 'NEW info' heb ik een kolom toegevoegd aan de tabel waar de waarde van celkleur in de eerste kolom staat. Als je deze tabel wil uitbreiden of inkrimpen dan moet je even deze macro uitvoeren
Code:
Sub VenA()
  For Each cl In Sheet7.ListObjects(1).DataBodyRange.Columns(1).Cells
    cl.Offset(, 2) = cl.DisplayFormat.Interior.Color
  Next cl
End Sub

In de bladmodule van de tab 'NEW' staat de volgende code

Code:
Private Sub Worksheet_Activate()
  ar = Sheet7.ListObjects(1).DataBodyRange
  For Each cl In Cells.SpecialCells(-4123)
    If InStr(cl.Value, "(") Then cl.Interior.Color = ar(Val(Split(cl, "(")(1)) + 1, 3)
  Next cl
End Sub
 

Bijlagen

Laatst bewerkt:
Ja werkt zeer goed.

Ik prober even uit te vinden hoe je de cellen veranderd hebt
Ik zie hoe, maar bekijk hoe ik dit later zelf ook kan toepassen
Gebruik de index functie nooit nml


Thanks
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan