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

Weergeven niet-geblokkeerde cellen

Status
Niet open voor verdere reacties.

Wim van Dijk

Gebruiker
Lid geworden
13 sep 2008
Berichten
16
Ik ben bezig met het opstellen van een Excel blad waarin gebruikers informatie moeten aanvullen. Dit kunnen ze dan doen op niet geblokkeerde cellen, zodat ik zeker weet dat mijn formules niet gesloopt worden. Nu zou ik het ideaal vinden als deze cellen herkenbaar zijn aan een bepaald kleurtje. Nu doe ik dat door elke niet geblokkeerde cel van een lichtblauw kleurtje te voorzien. Ik zou dit graag wat automatiseren, zodat niet geblokkeerde cellen automatisch een lichtblauw (of ander) kleurtje krijgen. Bijkomend voordeel is dat ik dan direct kan zien of ik per ongeluk niet teveel cellen heb gedeblokkeerd.

Wie helpt mij?
 
Code:
Sub Macro15()
    For Each cl In ActiveSheet.UsedRange
        cl.Interior.ColorIndex = IIf(cl.Locked, 16, 0)
    Next
End Sub
pas zelf even het nummer (16) van de kleur aan.

Analoog kun je deze code gebruiken in de gebeurtenis change van het werkblad.
 
Ontzettende topicbump maar deze ligt in het verlengde.

Ik heb een werkblad met allerlei kleuren etc., voorzien van beveiligde - en onbeveiligde cellen.
Voor het debuggen zou het fijn zijn om de geblokkeerde cellen te kenmerken.

Code:
For Each cl In ActiveSheet.UsedRange
        cl.Interior.Pattern = IIf(cl.Locked, xlGray25, 0)
    Next

gebruik ik hiervoor, doet wat ik wil.
Om het weer "uit te zetten" dacht ik:

Code:
For Each cl In ActiveSheet.UsedRange
        cl.Interior.Pattern = IIf(cl.Locked, 0, 0)
    Next

Maar daarmee haalt ie ook mijn celkleuren weg. Dat wil ik dus weer niet. Ik benoem toch alleen wat ie met het patroon moet doen en niet wat ie met de kleur moet doen??
 
Hm, laat maar, gefixt door ipv "0" op "xlAutomatic" te zetten...

Code:
For Each cl In ActiveSheet.UsedRange
        cl.Interior.Pattern = IIf(cl.Locked, xlAutomatic, 0)
    Next
 
Nog 1 laatste:
heb het uiteindelijk toch anders gedaan omdat op een of andere manier toch steeds mn opmaak naar de knoppen ging:

Code:
Sub ColorProtectedCells()

For Each cl In ActiveSheet.UsedRange
        If cl.Locked = True Then cl.Interior.Pattern = xlGray50
    Next
End Sub

Sub UncolorProtectedCells()

For Each cl In ActiveSheet.UsedRange
        If cl.Locked = True Then cl.Interior.Pattern = xlAutomatic
    Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan