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

Macro automatisch vinkje geblokkeerd aan en uitzetten

Status
Niet open voor verdere reacties.
Werkt prima en in #15 heb je het alleen over A1.
Als dat op meer cellen moet dan kan je toch wel zien wat je dan moet doen?

Daarnaast, we plaatsen hier geen code die niet werkt.
Als het niet doet wat je wilt is dat iets heel anders en dien je daar precies in te zijn.
 
Laatst bewerkt:
Zoiets dan:
Code:
Sub CommandButton1_Click()
    For Each sh In ThisWorkbook.Sheets
        sh.Range("A1").Locked = False
    Next sh
End Sub

Hoi Edmoor, de code werkt inderdaad alleen voor opheffen False en voor aanzetten True?
 
Hoi Edmoor bij klik op button werkt alleen Flase en nog een klik moet het true worden? dus aan en uit.
 
Je wilt het dus telkens wisselen?
Code:
Sub CommandButton1_Click()
    For Each sh In ThisWorkbook.Sheets
        sh.Range("A1").Locked = Not sh.Range("A1").Locked
    Next sh
End Sub
 
klopt nu werkt het wel voor telkens wisselen, maar alleen bij bladbeveiliging werkt het fucntie wisselen niet niet meer. krijg een melding error 400. is er daar ook een oplossing ervoor?
 
Laatst bewerkt:
Dan moet je uiteraard eerst de beveiliging eraf halen met: sh.Unprotect "JeWachtwoord"
 
En aan het einde van de code er weer op anders heeft het geen zin.
 
ik heb wat uitbreiding erop gedaan, alleen sh.Unprotect "JeWachtwoord" mis ik nog erin?

protect worden en unprotect?

dus aan en uit.

Code:
Sub CommandButton1_Click()

    Const PWORD As String = "ok"
    Dim response As String
    Dim msg As String
    msg = "Voer wachtwoord in:"
    
    While response <> PWORD
        response = Application.InputBox(Prompt:=msg, Title:="Password", Type:=2)
        Select Case response
            Case CStr(False)
                Exit Sub 'Cancelled
            Case Else
                msg = "Incorrect!" & vbNewLine & "Voer opnieuw wachtwoord in:"
        End Select
    Wend

'Voer code in
Call werk

End Sub

Sub werk()
    For Each sh In ThisWorkbook.Sheets
        sh.Range("A1, A2, A3").Locked = Not sh.Range("A1, A2, A3").Locke
    Next sh
End Sub
 
Dat lijkt me toch niet zo lastig:
Code:
Sub werk()
    For Each sh In ThisWorkbook.Sheets
        sh.Unprotect "JeWachtwoord"
        sh.Range("A1, A2, A3").Locked = Not sh.Range("A1, A2, A3").Locked
        sh.Protect "JeWachtwoord"
    Next sh
End Sub
 
Laatst bewerkt:
prima het werkt. niet bij stilgestaan sorry. Was met andere codes bezig.

mss weten jullie het zo meer een technisch excel functie.
Bij gedeelde bestand wil ik de functie button werkend houden. Is er hier een vba code ervoor.

tnxx
 
Probeer dit eens:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
        Range("A6:AF33").Locked = IIf(LCase(Target.Value) = "ja", True, False)
    End If
End Sub

Dan hoef je ook nergens op te klikken.

Hoi edmoor,
Na blad beveiligen kan ik het bovenstaande code niet meer gebruiken. krijg namelijk een foutmelding 1004. Heb jij toevallig een idee hoe dat kan of een andere oplossing ervoor?
 
Dat staat al in #31.
 
De volgende code werkt na blad beveiliging. dankjewel voor je support.
Waar ik nu mee zit is dat na delen van het excel bestand met anderen, de volgende foutmelding krijg.
Is hier ook iets aan te doen? dan zal het helemaal geweldig zijn.

Fout 1004 Tijdens uitvoering:
Methode Unprotect van object _Worksheet is mislukt.



Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
 Unprotect "JeWachtwoord"
        Range("A6:AF33").Locked = IIf(LCase(Target.Value) = "ja", True, False)
 protect "JeWachtwoord"
    End If
End Sub
 
Ik heb geen andere ervaring met gedeelde documenten dan dat VBA er altijd problemen mee heeft.
Daar heb ik geen oplossing voor.

Daarnaast, let in VBA code op de inspringpunten.
De code in #35 hoort zo:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
        Unprotect "JeWachtwoord"
        Range("A6:AF33").Locked = IIf(LCase(Target.Value) = "ja", True, False)
        Protect "JeWachtwoord"
    End If
End Sub
 
Laatst bewerkt:
Zie #12 nog eens.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan