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

tekstkleur wijzigen bij voorwaarde

Status
Niet open voor verdere reacties.

ro2b

Gebruiker
Lid geworden
6 sep 2008
Berichten
57
Hallo helpers,
Ik wil (het liefst via VBA) een tekstkleur in een cel veranderen als er in een andere cel een x staat.
De deelnemer die een straf krijgt (per etappe) moet rood worden en dat moet je dan kunnen zien in de prognose.
groet
Robbert
 

Bijlagen

  • tour de france poule 2015 TEST.xlsm
    66,1 KB · Weergaven: 51
Waarom niet eenvoudig met voorwaardelijke opmaak?

Probeer ook een heldere vraag te stellen 'wie of wat is in de prognose' nu is het een beetje gokwerk geworden

Probeer als je met VBA wil werken een beetje structuur in je modules te houden.

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With ActiveSheet
    If Left(.Name, 6) = "etappe" And Target.Count = 1 And Not Intersect(Target, .Columns(17)) Is Nothing Then
        If LCase(Target) = "x" Then Target.Offset(, -14).Font.Color = vbRed Else Target.Offset(, -14).Font.Color = vbBlack
    End If
End With
End Sub

De deelnemer in de etappe wordt rood als er in kolom q een x geplaatst wordt.
 
Gewoon zo:
Bereik voor je voorwaardelijke opmaak selecteren, nieuwe regel aanmaken en dan op basis van deze formule:

Code:
=Q6="x"

bijlage vervangen voor onderstaande:

EDIT: dit is natuurlijk volledig langs je vraag... Dit past beter:

Een rij aanmaken met de namen van je tabblad en die bijvoorbeeld etappen noemen en dan onderstaande functie als voorwaardelijke opmaak gebruiken bij het tabblad gesorteerd printen prognose K6:K10

Code:
=SOMPRODUCT(AANTALLEN.ALS(INDIRECT("'"&etappen&"'!Q$6:Q$10");"x";INDIRECT("'"&etappen&"'!C$6:C$10");K6))>=1

Zo dus:

Bekijk bijlage tour de france poule 2015 TEST AV.xlsm
 

Bijlagen

  • tour de france poule 2015 TEST.xlsm
    66,2 KB · Weergaven: 54
Laatst bewerkt:
@abevleeming, knap staaltje begrijpend lezen.:thumb:

Er bestaat dus een tab 'gesorteerd printen prognose' met in L1 het woord prognose en dan moeten de cellen met de inhoud '#VERW!' rood gekleurd worden als er ergens een x in een etappe staat waarbij de proloog ook een etappe is. Ik denk dat ik het nu ook begrijp:d
 
Excuus voor de onduidelijkheid. Op een gegeven moment denk je dat het hele schema voor iedereen leesbaar is maar dat is denk ik een soort van excel blindheid van mij.

Even reageren op de getoonde oplossingen.
@abevleeming: Ik kreeg die voorwaardelijke opmaak niet goed vandaar de vraag naar een VBA oplossing.
Verder is de oplossing prima maar hij geeft in de prognose nu alle x aan ipv per etappe. (in gesorteerd printen prognose moet je in cel B1 het etappenummer ingeven om de betreffende prognose op volgorde te zetten alvorens dit uit te printen). Ik wil dus per etappe (in het tabblad gesorteerd printen prognose kunnen laten zien wie er die etappe een straf heeft gekregen.

@VenA:
Ik begrijp niet wat je bedoelt met structuur in de modules. Moeten ze beter gerangschikt worden of macro's bij elkaar en vba bij elkaar? Ik krijg de VBA ook niet aan de praat.

Bijgaand een beter test bestand met de voorwaardelijke opmaak zoals opgegeven door abevleeming verwerkt:
https://www.wetransfer.com/download...78489b5c652ea0a12c2ca03420150709214006/617582

groet
RO2B
 
Ik begrijp niet wat je bedoelt met structuur in de modules. Moeten ze beter gerangschikt worden of macro's bij elkaar en vba bij elkaar?

Klopt. Je hebt 6 modules in jouw bestand staan (1,2,3,4,8 en 9)

In module1 doe je iets met een sortering en iets met een afdrukbereik. In module2 staan een aantal UDF's. In module3 doe je weer iets met een sortering en iets met een afdrukbereik etc.

Om het voor jezelf overzichtelijk te houden noem je bv module1 Sorteren en zet je alle sorteeracties hierin. Module2 noem je Functies etc.

Als je iets niet aan de praat krijgt, dan is het handig om te melden welke handelingen je gedaan hebt om het aan de praat te krijgen. De code kom ik iig niet tegen in jouw voorbeeld.

De vraag is nog steeds totaal niet helder.
Waarschijnlijk wil je iets van als in de tab 'gesorteerd printen prognose!B1' een 3 wordt ingevuld, kleur in deze tab de deelnemers in kolom K rood als ze een etappe ervoor een straf hebben gekregen. Deze straf wordt aangegeven door een x in het blad van de etappe ervoor in kolom Q?

Je kan, als mijn aanname juist is, de formule van abevleeming vrij eenvoudig aanpassen om het gewenste resultaat te krijgen.
 
Oke, ik zal de modules aanpassen. Ik wist niet of dat zomaar kon en een werkend excel pas ik liever niet zomaar aan.

Wat betreft jouw UDF die ik niet aan de praat krijg, letterlijk, ik heb het gekopieerd maar er gebeurde gewoon helemaal niets. Vandaar niet aan de praat zonder verdere uitleg :confused:

En tot slot. Als je in gesorteerd printen prognose het etappenummer in B1 aanpast dan moet de tijdopgave van het betreffende tabblad (etappe...) gesorteerd worden van snel naar langzaam. Dat gaat allemaal goed. Maar nu wil ik dat diegene die in die betreffende etappe een straf krijgt zichtbaar wordt in de gesorteerd prognose printen.

Ik hoop dat het zo duidelijker is.

groet
RO2B
 
probeer deze eens in de VO

PHP:
=VERT.ZOEKEN(J6;INDIRECT("etappe"&$B$1-1&"!$B$6:$Q$82");16;0)="x"
 
Ja, dit is het, met dien verstande dat de -1 niet nodig is.
Dus de formule is:
Code:
=VERT.ZOEKEN(J6;INDIRECT("etappe"&$B$1&"!$B$6:$Q$82");16;0)="x"

Hartelijk dank voor de hulp.
 
Graag gedaan.

Als het in jouw bestand werkt, zoals je voor ogen had, wil je dan deze vraag op opgelost zetten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan