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

gegevensvalidatie en/of beveiliging toepassen

Status
Niet open voor verdere reacties.
jeetje was het zo simpel....hartstikke bedankt!! Kan ik ook een macro gebruiken (deze aanpassen en er een nieuwe van maken) om de validatie er voor alle bladen weer af te halen mocht dat een keer nodig zijn?
 
Eigelijk heb je die al, maar je moet wat weglaten ;-)

zoek de verschillen.

Code:
Sub Macro2()

    For Each sh In ThisWorkbook.Worksheets
        If InStr("vaste werktijden|lijsten|ander blad|nog een blad|enz.", sh.Name) = 0 Then
            With sh.Range("I5:AT101").Validation
                .Delete
            End With
        End If
    Next
    
End Sub

Niels
 
Toch nog niet ... ik krijg geen foutmelding maar maar de validatie wordt niet op de cellen toegepast :(
 
Voor de volledigheid...ik gebruik:

Sub validatie()
'
For Each sh In ThisWorkbook.Worksheets
If InStr("vaste werktijden|lijsten|Rooster tmpl|Instructie", sh.Name) = 0 Then
With sh.Range("I5:AT101").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=zelf"
.IgnoreBlank = True
.InCellDropdown = False
.ShowInput = True
.ShowError = False
End With
End If

Next

End Sub

Krijg geen foutmelding maar de cellen/bladen worden niet gevalideerd.
Nog tips?
 
De vraag was toch om de validatie eraf te halen, dat doet de macro toch?
sorry mist je vorige post

Niels
 
Laatst bewerkt:
Haha....ik wil er twee....een om de validatie er op alle bladen op te zetten en een waarmee ik hem er weer mee vanaf kan halen. Degene die ik net plakte zou degene moeten zijn om hem erop te zetten toch?
 
de celdropdown heb je op false gezet, dit moet true zijn anders zie je de validatielijst niet.

haha ik snap dat je er 2 wilt maar had niet in de gaten op welke je reageerde.

Niels
 
dat is alleen voor dat pijltje in de cel, die hoef ik niet; als ik de validatie handmatig aanzet dan vink ik "vervolgkeuzelijst in cel" ook uit...vandaar. Als ik dat doe dan kan ik hierna alleen de inhoud van de lijst invullen in de cel:
nt
c
ni

Na het uitvoeren van de macro kan ik nog steeds alles invullen dus die validatie is niet toegepast.
 
Het is nog vreemder.....als ik nu de cellen selecteer en naar de validatie ga dan geeft hij wel aan dat validatie plaatsvindt op basis van de lijst "zelf" ... de macro heeft dit dus wel uitgevoerd alleen krijg ik de beperking in de cel niet....
 
zie vorige post, ik had die melding uitgezet omdat het daar misschien fout ging toen je blad beveiligd was.

Niels
 
Jessss.... nu doet hij het wel!! Geweldig! Nu nog even die andere testen om het er weer ervan af te halen ;)
 
Geweldig, helemaal gelukt nu! Hartstikke bedankt Niels voor je geduld en hulp!! Problem solved :)
 
Hoi Niels,
Toch nog een vraag...
Nadat ik de validatie heb ingesteld, stel ik voor de komende week in het rooster dezelfde cellen in als ongeblokkeerd waarna ik de rest van het werkblad beveilig. Resultaat is dan dat alleen die gevalideerde cellen bewerkt kunnen worden met de restrictie van de gekozen lijst. Ook dit is iets wat ik best voor alle weken tegelijk wil kunnen doen, inclusief het er weer vanaf halen. Kan dat ook in zo'n soort macro? Zou je me die ook nog willen geven? :)
 
De andere macro's werken niet als de beveiliging aanstaat,
eventueel daar het stuk je van unprotect en protect toevoegen.

Code:
Sub beveiliging_aan()

    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If InStr("vaste werktijden|lijsten|ander blad|nog een blad|enz.", sh.Name) = 0 Then
            With sh
            .Range("I5:AT101").Locked = False
            .Protect Password:="1234"
            End With
        End If
    Next
    Application.ScreenUpdating = True
    
End Sub

Sub beveiliging_uit()

    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If InStr("vaste werktijden|lijsten|ander blad|nog een blad|enz.", sh.Name) = 0 Then
            With sh
            .Unprotect Password:="1234"
            End With
        End If
    Next
    Application.ScreenUpdating = True
    
    
End Sub

Niels
 
Hey super. Nu had ik het handmatig zo ingesteld dat de beveiligde gebieden helemaal niet te selecteren zijn (A1 tm H101 en AV1 tm BB 101). Kan dat ook in de formule gebakken worden?

Kan in de formule voor beveiliging uit ook ingebakken worden dat de cellen I5 tm AT101 in de celeigenschappen, beveiliging weer gebloovekkeerd worden zodat ik die groene hoekjes niet overal krijg?
 
vraag 1


Code:
Sub beveiliging_aan()

    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If InStr("vaste werktijden|lijsten|ander blad|nog een blad|enz.", sh.Name) = 0 Then
            With sh
            .Range("I5:AT101").Locked = False
            .Protect Password:="1234"
            .EnableSelection = xlUnlockedCells
            End With
        End If
    Next
    Application.ScreenUpdating = True
    
End Sub





vraag 2

dat kan zo:

Code:
Sub beveiliging_uit()

    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If InStr("vaste werktijden|lijsten|ander blad|nog een blad|enz.", sh.Name) = 0 Then
            With sh
            .Unprotect Password:="1234"
            .Range("I5:AT101").Locked = true 'dit werkt alleen als er geen beveiliging op het blad staat.
            End With
        End If
    Next
    Application.ScreenUpdating = True
    
    
End Sub

Maar je kunt dit in de optie voor excel ook uit zetten bij controle.


Niels
 
Mijn tweede vraag heb ik gevonden door toevoeging:
With sh
.Unprotect Password:="1234"
.Range("I5:AT101").Locked = True
End With
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan