Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 15 van 15

Onderwerp: Blad beveiligen met macro

  1. #1
    Vraag is niet opgelost

    Blad beveiligen met macro

    Ik heb een compleet blad dat ik nu wil beveiligen. Echter de macro's die achter een paar knoppen zitten, hebben betrekking op cellen die beveiligd zouden moeten worden. Iemand een oplossing?

  2. #2
    Niet zo belangrijk: maar waarom wil je het doen?
    Als je een beetje handig bent met Excel haal je het er in 30 seconden vanaf.. zonder een kraakprogramma...

  3. #3
    Deze excelsheet bevat vrij veel formules en andere macros. Dit bestand moet beveiligd worden omdat dit op een gedeelde schijf komt te staan waar meerdere mensen deze sheet gaan gebruiken. Maar het is belangrijk dat ze de formules en waardes niet veranderen

    Aanvullend:

    Iedere keer als ik in een andere cel ga staan met de curser dan gaat het scherm knipperen. Ofja het blad herlaadt zichzelf
    Laatst aangepast door Gielekes : 13 oktober 2017 om 07:37

  4. #4
    Senior Member
    Verenigingslid

    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    Gielekes,

    gebruik protect en unprotect.

    Code:
      Activesheet.Unprotect Password:="password"
    
       'Hier je macro !
    
      Activesheet.Protect Password:="password"
    Niemand is slim genoeg om zijn eigen domheid te bevatten!

  5. #5
    Deze macro heb ik inderdaad momenteel in gebruik. Echter zie ik hier een kanttekening: Aangezien ik een macro heb waarbij het volgende gebeurt:
    - als cel C7 verandert dan worden de Cellen C8:C10 gecleand. Door deze macro/en telkens als ik iets verander, knippert het scherm.

    Aanvullend, telkens als ik ergens met mijn curser ga staan gaat het blad zich herladen. Dit komt waarschijnlijk omdat ik code heb staan bij de macro voor als er iets wijzigt in het blad.
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.Unprotect Password:="ww"
        Sheets("opzet").Unprotect Password:="ww"
    
    If Target.Address = Range("invoer!B3").Address Then
    Range("invoer!B4:invoer!B8").Value = ""
    Range("invoer!E6:invoer!E8").Value = ""
    Range("invoer!H4:invoer!H9").Value = ""
    End If
    
    If Target.Address = Range("invoer!B12").Address Then
    Range("invoer!B13:invoer!B17").Value = ""
    Range("invoer!E15:invoer!E17").Value = ""
    Range("invoer!H13:invoer!H18").Value = ""
    End If
    
    If Target.Address = Range("invoer!B21").Address Then
    Range("invoer!B22:invoer!B26").Value = ""
    Range("invoer!E24:invoer!E26").Value = ""
    Range("invoer!H22:invoer!H27").Value = ""
    End If
    
    If Target.Address = Range("invoer!B30").Address Then
    Range("invoer!B31:invoer!B35").Value = ""
    Range("invoer!E33:invoer!E35").Value = ""
    Range("invoer!H31:invoer!H36").Value = ""
    End If
    
    If Target.Address = Range("invoer!B39").Address Then
    Range("invoer!B40:invoer!B44").Value = ""
    Range("invoer!E42:invoer!E44").Value = ""
    Range("invoer!H40:invoer!H45").Value = ""
    End If
    
    If Target.Address = Range("invoer!B48").Address Then
    Range("invoer!B49:invoer!B53").Value = ""
    Range("invoer!E51:invoer!E53").Value = ""
    Range("invoer!H49:invoer!H54").Value = ""
    End If
    
    If Target.Address = Range("invoer!B57").Address Then
    Range("invoer!B58:invoer!B62").Value = ""
    Range("invoer!E60:invoer!E62").Value = ""
    Range("invoer!H58:invoer!H63").Value = ""
    End If
    
    If Target.Address = Range("invoer!B66").Address Then
    Range("invoer!B67:invoer!B71").Value = ""
    Range("invoer!E69:invoer!E71").Value = ""
    Range("invoer!H67:invoer!H72").Value = ""
    End If
    
    If Target.Address = Range("invoer!B75").Address Then
    Range("invoer!B76:invoer!B80").Value = ""
    Range("invoer!E78:invoer!E80").Value = ""
    Range("invoer!H76:invoer!H81").Value = ""
    End If
    
    If Target.Address = Range("invoer!B84").Address Then
    Range("invoer!B85:invoer!B89").Value = ""
    Range("invoer!E87:invoer!E89").Value = ""
    Range("invoer!H85:invoer!H90").Value = ""
    End If
    
    If Target.Address = Range("invoer!B93").Address Then
    Range("invoer!B94:invoer!B98").Value = ""
    Range("invoer!E96:invoer!E98").Value = ""
    Range("invoer!H94:invoer!H99").Value = ""
    End If
    
    If Target.Address = Range("invoer!B102").Address Then
    Range("invoer!B103:invoer!B107").Value = ""
    Range("invoer!E105:invoer!E107").Value = ""
    Range("invoer!H103:invoer!H108").Value = ""
    End If
    
    If Target.Address = Range("invoer!B111").Address Then
    Range("invoer!B112:invoer!B116").Value = ""
    Range("invoer!E114:invoer!E116").Value = ""
    Range("invoer!H112:invoer!H117").Value = ""
    End If
    
    If Target.Address = Range("invoer!B120").Address Then
    Range("invoer!B121:invoer!B125").Value = ""
    Range("invoer!E123:invoer!E125").Value = ""
    Range("invoer!H121:invoer!H124").Value = ""
    End If
    
    If Target.Address = Range("invoer!B129").Address Then
    Range("invoer!B130:invoer!B134").Value = ""
    Range("invoer!E132:invoer!E134").Value = ""
    Range("invoer!H130:invoer!H133").Value = ""
    End If
    
        ActiveSheet.Protect Password:="ww"
        Sheets("opzet").Protect Password:="ww"
    End Sub
    Laatst aangepast door Gielekes : 13 oktober 2017 om 07:47

  6. #6
    Senior Member
    Verenigingslid

    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    Plaats deze (volledige) macro dan even op het forum.


    nav je aanvulling: je hebt waarschijnlijk een :

    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Laatst aangepast door SjonR : 13 oktober 2017 om 07:45
    Niemand is slim genoeg om zijn eigen domheid te bevatten!

  7. #7
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.Unprotect Password:="ww"
        Sheets("opzet").Unprotect Password:="ww"
    
    If Target.Address = Range("invoer!B3").Address Then
    Range("invoer!B4:invoer!B8").Value = ""
    Range("invoer!E6:invoer!E8").Value = ""
    Range("invoer!H4:invoer!H9").Value = ""
    End If
    
    If Target.Address = Range("invoer!B12").Address Then
    Range("invoer!B13:invoer!B17").Value = ""
    Range("invoer!E15:invoer!E17").Value = ""
    Range("invoer!H13:invoer!H18").Value = ""
    End If
    
    If Target.Address = Range("invoer!B21").Address Then
    Range("invoer!B22:invoer!B26").Value = ""
    Range("invoer!E24:invoer!E26").Value = ""
    Range("invoer!H22:invoer!H27").Value = ""
    End If
    
    If Target.Address = Range("invoer!B30").Address Then
    Range("invoer!B31:invoer!B35").Value = ""
    Range("invoer!E33:invoer!E35").Value = ""
    Range("invoer!H31:invoer!H36").Value = ""
    End If
    
    If Target.Address = Range("invoer!B39").Address Then
    Range("invoer!B40:invoer!B44").Value = ""
    Range("invoer!E42:invoer!E44").Value = ""
    Range("invoer!H40:invoer!H45").Value = ""
    End If
    
    If Target.Address = Range("invoer!B48").Address Then
    Range("invoer!B49:invoer!B53").Value = ""
    Range("invoer!E51:invoer!E53").Value = ""
    Range("invoer!H49:invoer!H54").Value = ""
    End If
    
    If Target.Address = Range("invoer!B57").Address Then
    Range("invoer!B58:invoer!B62").Value = ""
    Range("invoer!E60:invoer!E62").Value = ""
    Range("invoer!H58:invoer!H63").Value = ""
    End If
    
    If Target.Address = Range("invoer!B66").Address Then
    Range("invoer!B67:invoer!B71").Value = ""
    Range("invoer!E69:invoer!E71").Value = ""
    Range("invoer!H67:invoer!H72").Value = ""
    End If
    
    If Target.Address = Range("invoer!B75").Address Then
    Range("invoer!B76:invoer!B80").Value = ""
    Range("invoer!E78:invoer!E80").Value = ""
    Range("invoer!H76:invoer!H81").Value = ""
    End If
    
    If Target.Address = Range("invoer!B84").Address Then
    Range("invoer!B85:invoer!B89").Value = ""
    Range("invoer!E87:invoer!E89").Value = ""
    Range("invoer!H85:invoer!H90").Value = ""
    End If
    
    If Target.Address = Range("invoer!B93").Address Then
    Range("invoer!B94:invoer!B98").Value = ""
    Range("invoer!E96:invoer!E98").Value = ""
    Range("invoer!H94:invoer!H99").Value = ""
    End If
    
    If Target.Address = Range("invoer!B102").Address Then
    Range("invoer!B103:invoer!B107").Value = ""
    Range("invoer!E105:invoer!E107").Value = ""
    Range("invoer!H103:invoer!H108").Value = ""
    End If
    
    If Target.Address = Range("invoer!B111").Address Then
    Range("invoer!B112:invoer!B116").Value = ""
    Range("invoer!E114:invoer!E116").Value = ""
    Range("invoer!H112:invoer!H117").Value = ""
    End If
    
    If Target.Address = Range("invoer!B120").Address Then
    Range("invoer!B121:invoer!B125").Value = ""
    Range("invoer!E123:invoer!E125").Value = ""
    Range("invoer!H121:invoer!H124").Value = ""
    End If
    
    If Target.Address = Range("invoer!B129").Address Then
    Range("invoer!B130:invoer!B134").Value = ""
    Range("invoer!E132:invoer!E134").Value = ""
    Range("invoer!H130:invoer!H133").Value = ""
    End If
    
        ActiveSheet.Protect Password:="ww"
        Sheets("opzet").Protect Password:="ww"
    End Sub
    Laatst aangepast door Gielekes : 13 oktober 2017 om 07:46

  8. #8
    Senior Member
    Verenigingslid

    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    bij elke beweging zal je macro de beveiliging opheffen en vervolgens weer beveligen.
    Niemand is slim genoeg om zijn eigen domheid te bevatten!

  9. #9
    Ik heb deze code er al tussenuit gehaald. Deze kan ook verandert worden in:
    Als deze cellen veranderen: B3, B12, B21, B30, B39, B48, B57, B66, B75, B84, B93, B102, B111, B120, B129

    Maar daar ben ik zelf niet handig genoeg voor

  10. #10
    Senior Member
    Verenigingslid

    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3, B12, B21, B30, B39, B48, B57, B66, B75, B84, B93, B102, B111, B120, B129")) Is Nothing Then
        With Target
            .Offset(0, 1).Resize(1, 5).Value = ""
            .Offset(3, 3).Resize(1, 3).Value = ""
            .Offset(1, 6).Resize(1, 5).Value = ""
        End With
    End If
    End Sub
    Is dit iets?
    Niemand is slim genoeg om zijn eigen domheid te bevatten!

  11. #11
    Ik krijg niet goed achterhaalt hoe deze code precies werkt maar telkens als
    bijv B3 wordt verandert in een andere waarde dan moeten de 7 cellen eronder opgeschoond worden. Dit geld dus ook voor de andere
    dus B4-B10
    enz.

  12. #12
    Senior Member
    Verenigingslid

    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3, B12, B21, B30, B39, B48, B57, B66, B75, B84, B93, B102, B111, B120, B129")) Is Nothing Then
        With Target
            .Offset(0, 1).Resize(1, 7).Value = ""
            .Offset(3, 3).Resize(1, 3).Value = ""
            .Offset(1, 6).Resize(1, 5).Value = ""
        End With
    End If
    End Sub

    test eens of dit werkt voor je. Plaats anders een voorbeeldbestand
    Niemand is slim genoeg om zijn eigen domheid te bevatten!

  13. #13
    sample.xlsm

    Dit is het bestand waarin ik werk
    Het gaat erom dat de 7 velden onder de positiekeuze gecleand worden en tevens ook drie velden in het rechterblok. Het gaat hier om de 4e 5e 6e vak in kolom E per blok. Dus voor pos7 is dit bijv E60, E61, E62.

  14. #14
    Senior Member
    Verenigingslid

    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    excuus, aan het einde van een werkweek lukt het begrijpend lezen soms niet meer.

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3, B12, B21, B30, B39, B48, B57, B66, B75, B84, B93, B102, B111, B120, B129")) Is Nothing Then
        With Target
            .Offset(1, 0).Resize(5, 1).Value = ""
            .Offset(3, 3).Resize(3, 1).Value = ""
            .Offset(1, 6).Resize(5, 1).Value = ""
        End With
    End If
    deze dan?
    End Sub
    Niemand is slim genoeg om zijn eigen domheid te bevatten!

  15. #15
    deze doet inderdaad het gevraagde

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Aanbiedingen