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

@ snb
Ik snap je (vond het zelf ook beetje frustrerend), maar anders dan we hadden durven denken was het nu eenmaal niet extreem eenvoudig op te lossen.
Verder hebben we uiteindelijk beiden 4 regels v.o.
Jouw meest ingewikkelde ziet er zo uit:
=ALS.FOUT(SOM(VERSCHUIVING(B2;0;-3;1;4))=1;0)+(B2=1)+(VERSCHUIVING(B2;0;-1)=1)
Bij mij is dat:
=VERSCHUIVING(E2;;-3)>=1 (en daarvoor moest ik enkel de toepassingsrange lichtjes aanpassen)

@ emields
Voor die aanpak pleit ik ook al een tijdje, maar ik zou die uit je #13 toch ook wat inkorten.

@ djutoch
Met je nieuwe vereisten geef je mij alleen maar nog méér redenen om voor een change-event te kiezen.
Oei, juist je laatste post gezien: mogen we ook weten waarom?
 
mogen we ook weten waarom?
Jazeker, ik heb ooit iets dergelijks gemaakt voor een vriend van mij, jaren terug, betreffende boten, caravans en tenten verhuur. Het was dezelfde vraag, in die die tijd was het over dagen nu is het over uren (24) maar na mijn hersenbloeding en nog 3 ingrepen ben ik niet meer zo snappie meer.
 
@snb ,
Neen dit is niet wat ik zoek. (oplossing zonder VBA)
Ik weet dat je wilt helpen waarvoor dank.
De oplossing van Enigma in postje# 16, moet alleen uitgebreud worden naar 24 uur
 
De oplossing van de primaire vraag zat natuurlijk in de struktuur.
 

Bijlagen

Dat zal dan voor ieder kwartier een regeltje worden per persoon.
Waarom zonder vba, je rijdt toch ook niet in een auto zonder wielen?
 
Waarom zonder vba, je rijdt toch ook niet in een auto zonder wielen?
Jawel ik heb er eentje op rupsbanden.
Als ik een oplossing zoek zonder VBA hoef ik geen gezeik over vba.
 
Laatst bewerkt:
Het is heel simpel, de oplossingen van snb en engima zijn beperkt tot een uur ik wil die uitbreiden tot 24 uur via voorwaardelijke opmaak.
 
Ik zie vba meer als de luxe in een auto, zoals navigatie, airco, cruisecontrol, elektrische bediening ramen/spiegel ect.
Je kunt prima in een auto zonder dit rijden, maar het maakt het allemaal wel comfortabeler.
Je moet dan niet zeuren over dat je de weg niet kunt vinden.

Geen VBA in excel kan dus ook prima maar als het niet zonder VBA kan moet je ook niet zeuren.
 
Als je, ondanks allerlei gelijkaardige adviezen die je uit diverse hoeken hebt gekregen, toch zonder vba verder wil, ga dan vooral je gang (zie de opmerking van emields in #26, dat wordt tig v.o.-regeltjes toevoegen). Het zou me verbazen als iemand hier dat soort bulkwerk voor jou wil doen.
Succes!
 
Geen probleem Enigma, zoals ik weet dat ik 10 keer slimmer ben dan Emiels wat betreft VBA en Snb waarschijnlijk 100 keer slimmer is dan ons wat betreft Excel, we zullen wel zien wat er nog uit de bus komt.
Toch bedankt.
 
Oei, dat soort verklaringen zal je van mij niet al te gauw horen... (vooral 'ons' kwam onverwacht, wat niet betekent dat ik me op dezelfde hoogte van snb zou situeren)
Anderzijds: dan snap ik nóg minder waarom je hiervoor absoluut tegen vba bent(?)

Wat ik wel nog plots dacht (maar moet dra de deur uit, dus 't zal niet meer voor vandaag zijn): in mijn 4 regeltjes v.o. zit er vanaf de 2° een wederkerende structuur. Dat betekent dat we met vba 🤣 in een lus zo veel gelijkaardige regels kunnen toevoegen als nodig (we zullen snb dan wel weer op ons dak krijgen...), maar om er niet te veel te maken kan je beter eens laten weten hoe lang de maximale duur ooit zal zijn die je wil invoeren (als 24 uur 96 regels bevat en je hebt bv. maximaal 8 uur nodig, reken maar uit..., want je wil je bestand natuurlijk niet volproppen met overbodige v.o.)
Moet het nog gezegd? Die vba gaat er nadien wel weer uit!
 
Omdat het met de hand toevoegen van 96 opmaakregels niet leuk is maar het maken van een macro wel:
Code:
Sub formatting()
    Dim rng        As Range
    Dim uren       As Single
    Dim letters    As String
    Dim condition1 As FormatCondition
    
    Range("$B$2:$CS$5").FormatConditions.Delete
    For i = 1 To 96
        uren = i * 0.25
        letters = ConvertToLetter(i + 1)
        Set rng = Range("$" & letters & "$2:$CS$5")
        Set condition1 = rng.FormatConditions.Add(Type:=xlExpression, Formula1:="=VERSCHUIVING(" & letters & "2;;" & -i + 1 & ")>=" & uren)
        condition1.Interior.Color = 5296274
    Next
End Sub

Function ConvertToLetter(iCol As Long) As String
   Dim a As Long
   Dim b As Long
   a = iCol
   ConvertToLetter = ""
   Do While iCol > 0
      a = Int((iCol - 1) / 26)
      b = (iCol - 1) Mod 26
      ConvertToLetter = Chr(b + 65) & ConvertToLetter
      iCol = a
   Loop
End Function
In de bijlage reeds uitgevoerd.
 

Bijlagen

@ AHulpje

Exact zoals ik het van plan was en tevens in mijn vorige post al had aangekondigd te zullen doen, zelfs inclusief mijn v.o.-regels 100% overgenomen, dus bedankt voor de assistentie;)
Niets meer van TS vernomen, dus van mijn kant zeker geen bezwaar tegen die 96.

De macro is ook al volgens plan terug verdwenen, dus nogal logisch dat hij nooit meer nodig zal zijn, maar (je weet maar nooit of jij of iemand anders later nog iets gelijkaardigs wil doen) je hebt het jezelf met je ConvertToLetter-functie wel redelijk moeilijk gemaakt. Dit kon namelijk volstaan:
Code:
Sub vo()
Range("$B$2:$CS$5").FormatConditions.Delete
For k = 2 To 97
  kolom = Split(Cells(1, k).Address, "$")(1)
  Set r = Range("$" & kolom & "$2:$CS$5")
  Set vw = r.FormatConditions.Add(Type:=xlExpression, Formula1:="=VERSCHUIVING(" & kolom & "2;;-" & (k - 2) & ")>=" & Cells(1, k))
  vw.Interior.Color = RGB(200, 200, 200)
Next
End Sub
 
Ik denk dat het TS hierom gaat (met slechts 1 regel voorwaardelijke opmaak en zonder VBA)
NB. bestand eenmaal vervangen.
 

Bijlagen

Laatst bewerkt:
Ik wacht ook af wat de vriend waarvoor ik deze vraag stelde zal antwoorden na respons van zijn chef.
Blijkbaar staan ze daar nogal huiverig voor VBA.
Iedereen alvast super bedankt voor het meedenken.
 
@ djutoch
Verlies daarbij niet uit het oog dat je ondertussen ook al enkele vba-loze versies hebt...
Ik zal er die van mij nog eens bijsteken met de grijze kleurtjes.

@ snb
Tja, dat is dan wel een oplossing die redelijk afwijkt van TS' uitleg/voorbeeldbestand.
En volgens zijn voorbeeld kleur je ook steeds een kwartier te veel, maar da's uiteraard te verhelpen door één gelijkheidsteken weg te halen:
Code:
=(Sheet1!B$1>=INDEX(Table2[start];VERGELIJKEN(Sheet1!$A2;Table2[naam];0)))*(Sheet1!B$1<INDEX(Table2[eind];VERGELIJKEN(Sheet1!$A2;Table2[naam];0)))
 

Bijlagen

Late for the party ;)

Met voorwaardelijke opmaak, invoeren in cel B4
Code:
=KOLOM(B:B)-MAX(KOLOM($A:B)*($A4:B4<>""))<4*INDEX($A4:B4;1;MAX(KOLOM($A:B)*($A4:B4<>"")))
Let op matrix formule.
 

Bijlagen

Laatst bewerkt:
Terug
Bovenaan Onderaan