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

Aantal cellen beveiligen na invoreen "OK" op bepaalde cel op dezelfde rij

Status
Niet open voor verdere reacties.

NuMan

Gebruiker
Lid geworden
8 jan 2005
Berichten
131
Aantal cellen beveiligen na invoeren "OK" op bepaalde cel op dezelfde rij

Als ik in cel (L1) "OK" ingevoerd, moeten de cellen A1, B1,C1 en F1 beveligd worden.
Als ik in cel (L1) "OK" weghaalt of anders invoert dan "OK", moeten beveiligd weer
uitgezet worden.
Dat moet ook in volgende rij toegepast worden. Dus L2... A2,B2,C2 en F2
Is het mogelijk?
Alvast bedankt voor meedenken. :thumb: :thumb: :thumb:
Groetjes, NuMan
 
Laatst bewerkt:
Kijk even hier en download bladbeveiliging.zip

Het principe dat daarin zit moet je verder op weg kunnen helpen.
 
Jan van Asseldonk zei:
Kijk even hier en download bladbeveiliging.zip

Het principe dat daarin zit moet je verder op weg kunnen helpen.

ik kom nog niet echt uit, omdat mijn VBA kennis gering is.
Ik kan ze meestaal zelf aanpassen voor mijn situatie.
Als het iemand een kleine voorbeeldje hebt, zou ik echt fijn vinden.
Groetjes, NuMan
 
NuMan zei:
ik kom nog niet echt uit, omdat mijn VBA kennis gering is.
Ik kan ze meestaal zelf aanpassen voor mijn situatie.
Als het iemand een kleine voorbeeldje hebt, zou ik echt fijn vinden.
Groetjes, NuMan

Onderstaande code kijkt of er de laatste gewijzigde cel de cel L1 of L2 is. Is dat het geval dan wordt de beveiliging van het werkblad (tijdelijk) opgeheven.
Vervolgens wordt gekeken of er in de gewijzigde cel "OK" staat. Als dat zo is dan worden de cellen in de A, B, C en F-kolom die op dezelfde regel als de gewijzigde cel in de L-kolom, beveiligd. Zoniet dan wordt de beveiliging van de cellen in de A, B, C en F- kolom verwijderd. Tenslotte wordt het werkblad weer beveiligd.


Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
If Target.Address = "$L$1" Or Target.Address = "$L$2" Then
If Target = "OK" Then
Cells(Target.Row, "A").Locked = True
Cells(Target.Row, "B").Locked = True
Cells(Target.Row, "C").Locked = True
Cells(Target.Row, "F").Locked = True
Else
Cells(Target.Row, "A").Locked = False
Cells(Target.Row, "B").Locked = False
Cells(Target.Row, "C").Locked = False
Cells(Target.Row, "F").Locked = False
End If
End If
ActiveSheet.Protect
End Sub

(zie bijlage om te zien waar de macro geplaatst is).

Dit kan je bereiken via ALT-F11 of EXTRA - MACRO - VISUAL BASIC EDITOR
 
Laatst bewerkt:
Ik wil eigenlijk een oplossing per rij.
Als L1 ="OK" is, dan moet eerste regel exclusief L1 beveiligd worden.
Alle volgende rijen mogen nog ingevuld worden, dus nog geen beveilig.
Als L2 = "OK"is, dan regel 2...
....
....
ALS L2000 = "OK" is, dan regel 2000 exclusief L200 beveiligd worden.
Als je OK verandert iets anders, moeten ze weer onbeveiligd worden.
Als het zou lukken, dan heb ik perfect beveiligde werkblad.

Alvast bedankt voor meedenken.
 
NuMan zei:
Ik wil eigenlijk een oplossing per rij.
Als L1 ="OK" is, dan moet eerste regel exclusief L1 beveiligd worden.
Alle volgende rijen mogen nog ingevuld worden, dus nog geen beveilig.
Als L2 = "OK"is, dan regel 2...
....
....
ALS L2000 = "OK" is, dan regel 2000 exclusief L200 beveiligd worden.
Als je OK verandert iets anders, moeten ze weer onbeveiligd worden.
Als het zou lukken, dan heb ik perfect beveiligde werkblad.

Alvast bedankt voor meedenken.

Onderstaande macro werkt alleen als er in de L-kolom gewijzigd wordt.
Het maakt dus niet uit op welke regel.
Wellicht ten overvloede: het beveiligen van een cel heeft alleen nut als het werkblad beveiligd is.

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
If Target.Column = 12 Then
If Target = "OK" Then
Cells(Target.Row, "A").Locked = True
Cells(Target.Row, "B").Locked = True
Cells(Target.Row, "C").Locked = True
Cells(Target.Row, "F").Locked = True
Else
Cells(Target.Row, "A").Locked = False
Cells(Target.Row, "B").Locked = False
Cells(Target.Row, "C").Locked = False
Cells(Target.Row, "F").Locked = False
End If
End If
ActiveSheet.Protect
End Sub
 
Super dank je wel. Ik heb weer wat bijgeleerd :thumb: :thumb: :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan