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

namen kleur geven wanneer niet wordt voldaan aan bepaalde voorwaarde

Status
Niet open voor verdere reacties.

Gerard2348

Gebruiker
Lid geworden
24 okt 2013
Berichten
370
Beste experts,
Wederom een uitdaging. Zelf heb ik helaas niet de kennis om dit voor elkaar te krijgen. Wat ik graag wil is het volgende. Op "blad01" komen namen voor. Deze namen komen ook voor in het blad "bijzonderheden". Voor deze namen staat een bepaalde code (gele gedeelte). Op het blad “bijzonderheden” staat achter de namen een “x” wanneer er aan de voorwaarde van de code in regel 2 wordt voldaan. Wanneer de naam niet aan één van de codes voldoet in het blok op blad 1 dan moet deze naam rood kleuren. Liefst met een macro

Bekijk bijlage namen kleuren voorwaarde.xlsm


Groet Geer.
 
Werkt dit voor je ?

Code:
Sub Geer()
 
 Dim R As Range
 Dim X, Y As Integer
 Set R = Blad2.Range("D2:AC55")

    For Each cl In Blad1.Range("H19:H40,M19:M40,R19:R40")
    
    If cl <> "" Then
    Y = Application.Match(cl, Blad2.Range("D2:D55"), 0)
    X = Application.Match(cl.Offset(0, -1), Blad2.Range("D2:AC2"), 0)
    If Application.Index(R, Y, X) <> "x" Then
    cl.Font.Color = vbRed
    Else
    cl.Font.Color = vbBlack
    End If
    End If
    Next
    
End Sub
 
Ha Sjon,

Zag er veelbelovend uit maar helaas het werkt niet zo als ik het bedoel. Ik heb het bestand wat vereenvoudigd om de controle beter te kunnen uitvoeren. Alles is voorzien van kruisjes in het blad "bijzonderheden". Wanneer je bij Naam 01 het kruisje weghaalt onder pr01 dan kleurt de naam rood. Wat de bedoeling is. Wanneer je dit ook doet bij Naam 02 dan moet deze ook rood kleuren. Dit gebeurt niet. Wanneer je het kruisje onder Naam 01/pr01 terug plaats en het kruisje onder Naam 02/pr01 weghaalt dan kleurt deze naam niet. Wat wel de bedoeling is.

Bekijk bijlage namen kleuren voorwaarde (1).xlsm
 
Laatst bewerkt:
Volgens mij sluit het voorbeeldbestand niet aan bij de verwachte uitkomst. Als je zelf te weinig kennis hebt van VBA, dan kan je toch wat moeite doen om jouw kennis te vergroten. En anders gewoon voorwaardelijke opmaak gebruiken.

Mogelijk dat dit werkt. Veel lusjes maar komt door de opzet van het bestand.
Code:
Sub VenA()
  ar = Sheets("Bijzonderheden").Cells(2, 4).CurrentRegion
  For Each ars In Sheets("Blad1").Cells.SpecialCells(2).Areas
    For j = 1 To ars.Rows.Count
      For jj = 2 To UBound(ar)
        If ar(jj, 1) = ars(j, 2) Then
          For jjj = 1 To UBound(ar, 2)
            If ar(1, jjj) = ars(j, 1) Then
              ars(j, 2).Font.Color = IIf(LCase(ar(jj, jjj)) = "x", vbBlack, vbRed)
              Exit For
            End If
          Next jjj
        End If
      Next jj
    Next j
  Next ars
End Sub
 
Ha VenA,

Allereerst hartelijk dank ook voor jouw bijdrage. Helaas voldoet dit ook niet aan de verwachting (zie #3). Wat bedoel je dat het voorbeeldbestand niet aan sluit bij de verwachte uitkomst. Ik kan mij best voorstellen dat wanneer er te weinig kennis is om hiervoor moeite te doen om de kennis te vergroten. Hier ben ik ook mee bezig maar hoogstwaarschijnlijk bezit ik het inzicht niet om dit soort problemen het hoofd te bieden. Je hebt het over de opzet van het bestand. Blad1 is een uitgeklede versie van hoe het werkelijk is. Blad "Bijzonderheden" is zo als ik dacht dat het een logische opzet zou zijn. Namen met kwalificaties.

Is het beter als er achter de namen de kwalificaties komen ipv van een "x"?

En nogmaals ik waardeer en respecteer elke suggestie en hulp die ik van dit forum krijg.
 
Laatst bewerkt:
Wat is de bedoeling dan van het versimpelde voorbeeld? Je hebt de hele matrix gevuld met x behalve bij Naam 02 pr1. De code in #4 kijkt naar de combinatie naam en pr als er geen x staat dan wordt de naam rood. Dus blijkbaar begrijp ik het niet. Maak een simpel voorbeeld met 4 namen en 4 pr's en werk elk scenario even handmatig uit. Misschien dat dat wat meer licht op de zaak werpt.
 
Laatst bewerkt:
Ha VenA,

Wellicht heb ik het niet geheel duidelijk uitgelegd. De namen spreken voor zich denk ik. Dat zijn personen. Pr01 t/m Pr35 zijn een soort kwalificaties (kunnen er ook meer zijn). Niet alle personen hebben dezelfde kwalificaties. Wanneer de personen in blad1 worden ingedeeld en ze missen een van de kwalificaties dan moet de naam rood kleuren. Wanneer ze aan alle kwalificaties voldoen dan blijft de naam zwart. In het blad "Bijzonderheden"heb ik een voorbeeld gegeven.
Hopelijk is het duidelijk.

Groet Geer.


Bekijk bijlage namen kleuren voorwaarde (2).xlsm
 
Laatst bewerkt:
Mogelijk dat iemand er iets van begrijpt. Maar ik kan er geen logica in vinden.

pr01 naam 02 mist pr03?
Naam 02 pr01 pr03 pr04 waar wordt pr03 dan gemist?
 
Ah ik zie dat ik een fout heb gemaakt bij naam 2. Die heeft nl wel pr03. Dit wekt inderdaad verwarring. Mijn welgemeende excuses hiervoor. Sorry.

De blokken die op blad1 staan (eerste blok G18:J23) moeten we zien als een bak. Hierin zitten knikkers. In deze bak zijn dit pr01,pr02, pr03, en pr04 (gele vlakken). Nu worden er namen getrokken voor deze bak. In dit geval naam 01 t/m naam 05. Op blad "bijzonderheden" staat achter iedere naam welk knikkers deze persoon heeft. Wanneer er in de bak (blad1) een knikker zit die niet achter een naam staat (blad "Bijzonderheden") dan moet deze naam (blad1) rood worden. Dit geldt voor iedere naam afzonderlijk.

In bak (G18:J23) een zitten de volgend knikkers pr01, pr02, pr03 en pr04

Naam 01 heeft volgens blad "bijzonderheden" pr01, pr02, pr03 en pr04 deze naam blijft op blad1 zwart.
Naam 02 heeft volgens blad "bijzonderheden" pr01, pr03 en pr04 en mist pr02 deze naam moet rood kleuren op blad1.
Naam 03 heeft volgens blad "bijzonderheden" pr01, pr02 en pr03 en mist pr04 deze naam moet rood kleuren op blad1.
Naam 04 heeft volgens blad "bijzonderheden" geen van deze knikkers (pr01, pr02 en pr03 en pr04) deze naam moet rood kleuren op blad1 .
Naam 05 heeft volgens blad "bijzonderheden" pr01, pr02, pr03 en pr04 deze naam blijft op blad1 zwart.

Hopelijk biedt dit wat meer duidelijkheid...

mvg Geer
 
Laatst bewerkt:
Ha Cobbe,

Ben het net aan het testen en het ziet er hartstikke goed uit. Ik wilde de range aanpassen maar ik had niet gelijk in de gaten dat er een hulpkolom in blad bijzonderheden zat.
Helemaal TOP!!!!!!

:thumb::thumb:
 
:(
Toen ik het voor het eerst testte zag het er veel belovend uit. Door omstandigheden kon ik het niet eerder volledig testen. Vandaag weer tijd maar helaas voldoet dit niet geheel voor wat ik voor ogen had.

In het blad "Bijzonderheden" staan de namen en wordt er dmv een "x" aangegeven of hij aan de voorwaarde voldoet die in Range E2:AC2 zijn gespecificeerd. In Blad1 moet deze naam rood kleuren wanneer er niet wordt voldaan aan de voorwaarde in blad "Bijzonderheden" Range E2:AC2. en de voorwaarde voor de naam (gele vlak) blad1

Dus "Blad1" In het eerste blok Range ("G18:J23") staat Naam 01 Range ("H20") . Deze naam moet rood worden als niet wordt voldaan aan de voorwaarde voor zijn naam (Blad1 Range("G20:G23")) en voorwaarde blad "Bijzonderheden" Range E2:AC2.
In het laatste bestand "namen kleuren voorwaarde (cobbe)" kleurt Naam08 rood. Hier had de naam zwart moeten blijven want in het blad "Bijzonderheden" staat er geen kruisje bij pr10. Dus naam voldoet aan de voorwaarde in dat blok.
 
Laatst bewerkt:
Ha Cobbe,

Wederom hartelijk dank voor jouw bijdrage. Helaas is dit ook niet wat ik bedoel. In de ruimte voor de namen kan niets staan. Dus het probleem kan naar mijn mening niet worden opgelost met formules. Jouw formule kijkt specifiek naar de cel van de desbetreffende naam en wat daar voor staat. Maar hij moet kijken naar alle pr's in dat betreffende blok.

Ik heb de blokken in de bijlage benoemd.

Blok 01. Hier staan (voor het gemak) pr01 , pr02, pr03 en pr04. Dit had ook pr23, pr05, pr18 en pr12 of wat dan ook. Dit geldt tevens voor de namen. Wanneer er in het blad bijzonderheden geen kruis staat bij de naam en de pr dan moet de naam in blad1 en het blok waar deze staat kleuren wanneer er een pr in staat en die niet overeenkomt met het blad bijzonderheden.

In range ("V10:AA16") heb ik voor het gemak de voorwaarde geplakt uit het blad bijzonderheden. Volgens deze voorwaarde zouden in blok 1, blok 2 en blok 3 alle namen moeten kleuren. Omdat alle namen en Pr's in deze blokken het zelfde zijn. Elke naam mist een kruisje in blad bijzonderheden.

In blok 4 moeten de namen 02 en 04 ook rood kleuren omdat bij naam 02 pr 02 is uitgeschakeld en bij naam 04 is dat het geval met pr03.
In blok 5 moeten de namen 01 en 02 ook rood kleuren omdat bij naam 01 pr 04 is uitgeschakeld en bij naam 02 is dat het geval met pr02.
In blok 6 moet de naam 04 rood kleuren omdat bij naam 04 pr 03 is uitgeschakeld.

Ik besef dat het een moeilijk verhaal is. Als een naam in een blok (b.v. naam 01 blok 1) niet overeenkomt (pr's in het gele vlak blad1) met de voorwaarde in het in blad "Bijzonderheden" dan moet deze kleuren. Ongeacht op welke plaats deze naam of pr in het blok staan.

In de bijlage in het blauwe blok staan de uitkomsten hoe het zou moeten zijn.

Bekijk bijlage namen kleuren voorwaarde (cobbe)_3 (1).xlsm

Hopelijk weet iemand een oplossing
 
Laatst bewerkt:
Niemand die mij verder kan helpen? Ik weet dat dit hoogstwaarschijnlijk moet worden opgelost met een offset functie. Maar ik heb (als eerder vermeld in #5) helaas niet voldoende kennis om dit zelf op te lossen.
 
Wat moet er nu eigenlijk gebeuren en wat is het doel van dit bestand? Het lijkt een soort opleidingsmatrix waarbij per blok gekeken moet worden of de naam de minimale 'kennis' heeft van de laagste pr in het blok. Als dit zo is waarom is naam1 in blok 6 dan niet rood? Min is pr03 max is pr33 naam1 mist pr04. Deze naam mist toch een x in de reeks? Naam4 is wel rood omdat pr03 leeg is? Dus de eerste zin in #8 kan ik nogmaals herhalen.
 
Hallo VenA,

Ik besef dat het een moeilijk verhaal is. Het heeft inderdaad te maken met het hebben van een bepaalde kennis. Ik zal proberen het anders te verwoorden waarbij ik pr01, pr02 , pr03 enz heb vervangen door een persoon, uit een bepaald land, die één taal spreekt. Deze staan ingedeeld in het gele gedeelte. De namen die er naast staan (blauwe gedeelte) spreken meerdere tot heel veel talen. Welke talen deze personen machtig zijn wordt aangegeven in het blad "bijzonderheden" door een "x". Blad1 is een soort van rooster waarbij de personen met één taal worden ingedeeld in het gele gedeelte. Deze personen krijgen een gesprek met de personen die er naast staan in het blauwe gedeelte. (Naam 01, Naam 02, Naam 03 enz.) Wanneer er een persoon in het blauwe gedeelte de taal niet machtig is uit het gele gedeelte dan moet deze naam rood kleuren zodat deze persoon kan worden vervangen door een persoon die wel alle talen uit het gele gedeelte spreekt.

B.v.

In blok 01 spreekt Naam 01 bv geen Bosnisch maar wel alle overige talen. Hij/zij staat echter daar wel ingedeeld. Nu moet bij een check deze naam rood kleuren zodat de indeler kan zien dat er wat aan de hand is. Deze indeler raadpleegt nu de lijst en kan Naam 01 vervangen door iemand die wel voldoet aan alle talen die in blok 01 staan ingedeeld.

In blok 02 spreekt Naam 07 geen Fins en Naam 08 geen Frans. Deze namen moeten bij een check rood kleuren. De overige namen in dat blok voldoen wel aan de eisen dus deze blijven zwart. enz enz.

Beide blokken (geel en blauw) zijn variabel.

Hopelijk geeft deze uitleg wat meer duidelijkheid.

Groet Geer
 

Bijlagen

Ha Harry,

Hartelijk dank voor jouw oplossing. Dit is zoals ik het bedoel. Ben er blij mee. Had het alleen graag dmv een macro gehad. Dit omdat het bestand uit meerdere tabbladen bestaat waarop dit van toepassing is. Ik had het dan dmv activesheet kunnen gebruiken en ik had de check dan ook aan-uit kunnen zetten.

Maar vooralsnog ben ik er blij mee. :thumb:

Groet Geer
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan