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

cellen beveiligen in een formule. Ben er bijna...

Status
Niet open voor verdere reacties.

boppe

Gebruiker
Lid geworden
26 aug 2010
Berichten
69
Ik heb een pulldownmenu in mijn veld. Daar kan ik kiezen uit A, B en C.

De bedoeling is dat de velden dynamisch beveiligd zijn, met de tab toets vlieg je eroverheen zeg maar...

Kiest een collega "A", dan mag alleen veld met een A als invoerveld dienen, B en C moeten dan beveiligd zijn.
Maar wordt "B" gekozen, dan mag veld A + B worden ingevuld en moet alleen C worden beveiligd
Tot slot staat keuze C voor geen beveiliging in dit veld, A+B+C onbeveiligd en invulbaar...

A A A A A B B C C
A A A A A B B C C
A A A A A B B C C
A A A A A B B C C
A A A A A B B C C
C C C C C C C C C
C C C C C C C C C

Beetje lastig uit te leggen, heb het bestandje meegestuurd.


Het probleem is nu dat wanneer keuze A wordt gekozen, deze keurig B+C beveiligd. Maar wanneer ik keuze B of C maak, maakt dat geen verschil en blijft de uitwerking van keuze A van kracht...

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Unprotect Password:="" 'Beveiliging uitzetten

'het invoerveld behelst het veld A8 tm R14

If Range("O6").Value = "1" Then 'Als de waarde van pulldown cel O6 1 is
    Range("K8:R14, A13:J14").Locked = True 'moeten de cellen K8-R14 en A13-J14 geblokkeerd worden. De rest van het invoerveld in invulbaar

If Range("O6").Value = "2" Then 'Als de waarde van pulldown cel O6 2 is
    Range("A13:N14, O8:R14").Locked = True 'moeten de cellen van A13-N14 en O8-R14 geblokkeerd worden. De rest van het invoerveld in invulbaar

If Range("O6").Value = "3" Then 'En als de waarde van pulldown 3 is
Range("A8:R14").Locked = False 'bij keuze 3 is het gehele invoerveld vrij invulbaar, geen cellen geblokkeerd.


ActiveSheet.Protect Password:="" 'Beveiliging aanzetten
End If
End If
End If
End Sub

Wie kan me verder helpen dit werkend te krijgen, want ik kom er even in om...

grz Boppe
 

Bijlagen

  • TEST_wma_TEST.xlsm
    42,7 KB · Weergaven: 23
Met de Change_event gaat het niet lukken daar het veranderen van cel O6 niet gebeurt door target maar door je validatielijstje.
Met de Calculate_event lukt het wel, mits er iets te calculeren valt.
Zet in bv. cel X1 de formule: =O6*1

Een nadeel: de code loopt bij elke berekening.

Code:
Private Sub Worksheet_Calculate()
Me.Unprotect   'Beveiliging uitzetten
'het invoerveld behelst het veld A18 tm R14
    Select Case Range("O6").Value
      Case 1 'Als de waarde van pulldown cel O6 1 is
        Range("K8:R14, A13:J14").Locked = True 'moeten de cellen K8-R14 en A13-J14 geblokkeerd worden. De rest van het invoerveld in invulbaar
        Range("A8:J12").Locked = False
      Case 2 'Als de waarde van pulldown cel O6 2 is
        Range("A13:N14, O8:R14").Locked = True 'moeten de cellen van A13-N14 en O8-R14 geblokkeerd worden. De rest van het invoerveld in invulbaar
        Range("A8:N12").Locked = False
      Case 3 'En als de waarde van pulldown 3 is
        Range("A8:R14").Locked = False 'bij keuze 3 is het gehele invoerveld vrij invulbaar, geen cellen geblokkeerd.
    End Select
 Me.Protect , False, , , , True 'Beveiliging aanzetten
End Sub
 
Daar worden helpers niet vrolijk van.
 
Neem me niet kwalijk, wist niet dat ik daarmee mensen tegen het borst ging stuiten.
Nu moet ik vast het orkest betalen :shocked:
Ik zit zeer weinig achter Excel. Een simpele formule gaat wel, maar VBA is soms een brug te ver.
Ik dacht met twee hengeltjes uit, heb ik meer kans op slagen, maar ik begrijp dat dit niet altijd wordt gewaardeerd, excuus.

In ieder geval gaan de credits naar Harry, want je code werkt grandioos. :thumb: tnx
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan