• 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.

Cel kleur geven na gebruik in formule

Status
Niet open voor verdere reacties.

tippiexcel

Nieuwe gebruiker
Lid geworden
28 jan 2019
Berichten
4
Hallo allemaal,

Graag zou ik willen weten of het mogelijk is om een cel een kleur te geven als ik deze heb gebruikt in een formule.
Ik heb een lijst van A1 tot en met A20 en deze verwerk ik door middel van formules in een kleinere lijst (bijvoorbeeld door ze bij elkaar op te tellen)
Nu wil ik er wel zeker van zijn dat ik alle cellen heb gebruikt. Dit lijkt me overzichtelijk door de cellen een kleur te geven als ze zijn gebruikt.

Ik hoop dat dit kan en dat iemand weet hoe het werkt, en als je het mij dan ook nog uit kan leggen dan zou dat super fijn zijn :)
 
Welkom op het forum, maar je bent een belangrijk detail vergeten.
Een voorbeeldbestand plaatsen.
 
Excuus

Bij deze een voorbeeldbestand.

Graag wil ik dat de gebruikte cellen in de linkerkolom een kleur krijgen :)
 

Bijlagen

Trace dependents (onder de TAB Formulas) is geen optie voor je?
Met welke versie werk je? Middels voorwaardelijke opmaak vanaf Excel 2016 moet het sowieso wel lukken
 
Kan ook met de hand, maar in VBA:

Code:
Sub M_snb()
    For Each it In sheet1.Range("E4:E8")
      it.ShowPrecedents
    Next
End Sub
 
Hoe zou je je het doen met voorwaardelijke opmaak? Kan je het bestand zo maken dan ik het kan zien?
 
Middels de functies FORMULATEXT en TEXTJOIN (Excel 2016) een string gemaakt (zie onder Formulas, Name manager)
In de cellen A4:A13 voorwaardelijke opmaak waarbij gekeken wordt naar de celadressen in kolom B en waarbij gekeken wordt of deze voorkomt in die string.

Let wel, nu enkel rekening gehouden met het +-teken, Cel E5 bewust leeggemaakt om werking te laten zien.
 

Bijlagen

Hoi Eric,

Ik zie dat jij mega senior bent, nou dat geloof ik wel :)
Beginner ben ik toch niet maar ik moet je toch wat vragen voordat ik het begrijp...
1. Ik zie nergens welke versie ik heb van Excel, er staat alleen overal Excel business 365, is dat ook goed?
2. Je zegt zie onder Formulas, Name manager? Sorry geen idee wat dit betekent

Ik zie wel de twee formules staan bij voorwaardelijke opmaak dus daar ga ik is naar kijken!
Waarom gebruik je twee regels en hoe voer je die formule in?
 
1) Dat lijkt op een abonnement en dan dus Excel 2016. (Als de cellen Rood worden in Kolom A, dan ja dus)

2) Is nu eigenlijk gebruikt om lange formules wat op te breken en daarnaast hoeft dat gedeelte van de formule niet steeds uitgerekend te worden.

De hele formule tbv jouw voorwaardelijke opmaak is als volgt:

Code:
=ISNUMBER(FIND(ADDRESS(ROW($B4);COLUMN($B4);4);SUBSTITUTE(TEXTJOIN(;TRUE;IFERROR(FORMULATEXT($E$4:$E$8);""));"+";"=" )))

dit stuk:
Code:
SUBSTITUTE(TEXTJOIN(;TRUE;IFERROR(FORMULATEXT($E$4:$E$8);""));"+";"=" )
doet niks anders dan alle formule-teksten (ook wanneer er geen formules in het bereik staan) in een tekststring zetten om vervolgens middels de SUBSTITUTE het +-teken te vervangen door een =-teken.

je krijgt dan dus zoiets "=B4=B5=B8=B9=B10=B11=B12=B13"

Middels:
Code:
FIND(ADDRESS(ROW($B4);COLUMN($B4);4)

Kijk je of het relatieve cel adres van cel B4 voorkomt in deze teksstring, bij ja komt hier een getal van de positie uit deze tekstring uit

en vervolgens kijk je dus met ISNUMBER of dit een getal is (dit geeft TRUE of FALSE, hetgeen je gebruikt in de voorwaardelijke opmaak)

Wellicht is er een handigere methode, maar deze kwam als eerste bij mij op. ;)


++ Met het gebruik van een delimiter in de TEXTJOIN funktie is waarschijnlijk SUBSTITUTE overbodig

en om een en ander meer te stroomlijnen zou je de "findtext" wat kunnen aanpassen:
Code:
=ISNUMBER(FIND("="&ADDRESS(ROW($B4);COLUMN($B4);4)&"=";SUBSTITUTE(TEXTJOIN(;TRUE;IFERROR(FORMULATEXT($E$4:$E$8);"");"=");"+";"=" )))
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan