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

Hoe kan ik cellen kleuren volgens dit voorbeeld?

SCHITTEREND @ alphamax !
De formule valt zelfs te begrijpen😉
Meer nog: ik ben er nog eventjes op doorgegaan (voor +99% door jou geïnspireerd dus), en het blijkt ook niet nodig er een matrixformule voor te gebruiken:
Code:
=KOLOM(B$1)-(VERGELIJKEN(0;$B2:B2;-1)+1)<INDEX($B2:B2;1;(VERGELIJKEN(0;$B2:B2;-1)))*4
(Ik probeerde ze met de let-functie nog wat in te korten maar dat lijkt enkel op het werkblad te lukken en niet in de v.o.)
 
1). In Office 365 zijn matrixformules niet meer nodig.
2). Geef de LET formule een naam en zet die in VO.
 
Inderdaad 👍, blijkbaar te lang geleden dat de grijze massa nog eens goed is doorgesmeerd.
De enige vraag die blijft is of we nog iets van TS zullen horen...
 
Vast en zeker, geduld is een schone zaak.
 
SCHITTEREND @ alphamax !
De formule valt zelfs te begrijpen😉
Meer nog: ik ben er nog eventjes op doorgegaan (voor +99% door jou geïnspireerd dus), en het blijkt ook niet nodig er een matrixformule voor te gebruiken:
Code:
=KOLOM(B$1)-(VERGELIJKEN(0;$B2:B2;-1)+1)<INDEX($B2:B2;1;(VERGELIJKEN(0;$B2:B2;-1)))*4
(Ik probeerde ze met de let-functie nog wat in te korten maar dat lijkt enkel op het werkblad te lukken en niet in de v.o.)
Ik vind deze nog mooier.
En het is voor mij ook lang geleden dat ik wat met formules gedaan heb.
 
Vast en zeker, geduld is een schone zaak.
Zeker, een vriend heeft mij blijkbaar half gebakken intel gegeven in opdracht van zijn baas
Dit is het laatste document.
Hij heeft de volgende arceringen gegeven voor elke categorie
UK - Groen
VS - Blauw
AP - Oranje
Pauze - Geel
Verlof - Rood
 

Bijlagen

Ja djutoch, je hebt de vorige dagen mogelijk al gedacht dat er precies niet veel animo meer is in dit draadje...
We mogen je dus helpen om je vriend te helpen die op zijn beurt zijn baas wil helpen (lees: goede punten scoren). Tot daar aan toe wat mij betreft, maar uit je laatste post blijkt dat nu bovendien alle voorgaande oplossingen naar de papiermand moeten.
Als de 'baas' absoluut gratis wil geholpen worden en net als je vriend geen kaas heeft gegeten van Excel, dan zouden ze minstens open mogen staan voor goede raad, en die is m.i. hier: VBA. Ik denk eerlijk gezegd niet dat ze goed geplaatst zijn om zich daartegen te verzetten...
 
Laatst bewerkt:
Eerlijk genoeg, ik heb ook al gezegd dat ik er volledig mijn handen vanaf trek door de halfbakken intel.
 
Dan geef jij het vlugger op dan ik;)
Wat ik bedoelde is: ze zullen in elk geval moeten werken met een methode die ze niet geheel begrijpen, dan zou het niet veel mogen uitmaken of het al dan niet met vba is. Dus als ze bereid zijn te accepteren dat vba de beste keuze is, dan zal het geen te grote moeite zijn om dat te fiksen.
 
Niet te moeilijk, hoor. Het change-event dat ik met de eenvoudigere vereisten van vroeger al had bezorgd moest enkel een beetje uitgebreid worden.
Voorwaarde om het correct te laten werken is uiteraard wel dat ze hun invoer altijd correct doen. Ik heb me daarvoor op je laatste voorbeeld gebaseerd:
- L: enkel 'L'
- BR: getal gevolgd door 'BR'
- de andere 3: getal gevolgd door '-', dan één van de 3 codes, daarna al dan niet nog willekeurige tekens

En dan kom ik tot deze, niet zo kort mogelijk, maar wel zo duidelijk mogelijk geschreven code, te plakken in ThisWorkbook:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim rng As Range
Set rng = Range("B3:AG20,B24:AG41,B45:AG62")
t = Target.Value
If Not Intersect(rng, Target) Is Nothing And Target.Count = 1 Then
  If WorksheetFunction.CountA(Range(Target.Offset(, 1), Cells(Target.Row, "AG"))) = 0 Then
    Target.Resize(, 32).Interior.Color = xlNone
  Else
    Range(Target, Cells(Target.Row, (Target.Resize(, 32).Find("*").Column) - 1)).Interior.Color = xlNone
  End If
  If t <> "" Then
    If t = "L" Then
      a = 32
      kl = 6908415
    Else
      If Right(t, 2) = "BR" Then
        a = Replace(Replace(t, "BR", ""), ".", ",") * 4
        kl = 65535
      Else
        a = Replace(Split(t, "-")(0), ".", ",") * 4
        Select Case Left(Split(t, "-")(1), 2)
          Case "UK": kl = 11854022
          Case "US": kl = 15652797
          Case "AP": kl = 8696052
        End Select
      End If
    End If
    Target.Resize(, a).Interior.Color = kl
  End If
End If

End Sub
 
Kunnen er taken doorlopen over de verschillende shifts (morning, evening, night)?
 
Terug
Bovenaan Onderaan