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

Beveiligde cellen vrijgeven bij bepaalde celinhoud

Status
Niet open voor verdere reacties.

Sjaco90

Gebruiker
Lid geworden
23 jan 2013
Berichten
39
Beste,

Ik ben bezig met het ontwikkelen van een Excel sheet waar ik gebruik maak van een aantal verwijzingen binnen het bestand (over 8 verschillende tabbladen).
Dit bestand wordt door meerdere personen gebruikt, zodoende wil ik de meeste cellen (alles met formules) blokkeren. Echter wanneer er een bepaalde waarde wordt ingevoerd, moeten de 4 cellen in die kolom eronder vrijgegeven worden.

Voorbeeld:
Code C6, C8 en C9 zijn standaard vrijgegeven. Wanneer ik in cel C6 BOOM40 invoer, wil ik dat cel C10, C11, C12 en C13 worden vrijgegeven.
Ik maak gebruik van ongeveer 1.500 unieke codes, waarvan ongeveer 200 stuks met het woord BOOM erin. Wanneer het woord BOOM voorkomt in rij C6, wil ik dat C10, C11, C12 en C13 worden vrijgegeven.
Dit geldt uiteraard ook voor volgende cellen, dus bij D6 BOOM70 opent D10, D11, D12 en D13.

Kan iemand me hier verder mee helpen?
Ik hoor jullie graag.
 
Rmuisknop op tabblad waar dit moet werken ==> programmacode weergeven
onderstaande daar plakken

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C6:D6")) Is Nothing Then
        If InStr(UCase(Target.Value), "BOOM") Then
            ActiveSheet.Unprotect Password:="1234"
            Target.Offset(4).Resize(4, 1).Locked = False
            ActiveSheet.Protect Password:="1234"
        End If
    End If
End Sub

Niels
 
Beste Niels,

Hartelijk dank voor je reactie. Ben er zelf enige tijd tussenuit geweest, vandaar mijn vertraging.
De genoemde code geeft niet het gewenste resultaat. Wanneer ik nu BOOM invoer in C6 wordt cel C6 geblokkeerd, terwijl het juist de bedoeling is dat cel C7, C10, C11, C12 en C13 worden vrijgegeven van beveiliging (het blad is standaard beveiligd op enkele cellen na). Is er ook een formule die dit realiseert?

Ik hoop het, hoor graag van 1 van allen!
 
Hi Niels,

Heb het 1 op 1 gekopieerd van je Excelbestand, het werkt. Super!
Snap verder niet hoe de macro's in elkaar steken, vandaar nog een vraagje. Verwacht dat dit relatief eenvoudig is, maar weet het natuurlijk niet.
- Rij 10 wordt vrijgegeven zoals gevraagd, dit is niet meer nodig. Dit betreft dus enkel rij 11, 12 en 13.
- Wanneer ik het woord BOOM weer uit de cel haal, moeten de vrijgegeven cellen weer beveiligd worden. Lukt dit?
Ik ben erg benieuwd, hoor graag van je.

Sjaco
 
En de meest eenvoudige vraag: Als ik al een macro in een bestand heb staan en hier een macro bij wil zetten, waar moet ik dit neerzetten om ze beide werkend te hebben, of welke regel moet er verwijderd worden?;)
 
Een macro in het bestand is geen probleem alleen als het een eventmacro achter het zelfde blad is dan zul je iets aan moeten passen.
Als dit Private Sub Worksheet_Change(ByVal Target As Range) als achter het blad staan laat je dit weg uit mijn
macro en zo ook de end sub, en plak dan mijn macro boven de end sub van de macro die er al staat.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C6:D6")) Is Nothing Then
        If InStr(UCase(Target.Value), "BOOM") Then
            ActiveSheet.Unprotect Password:="1234"
            Target.Offset(5).Resize(3, 1).Locked = False
            ActiveSheet.Protect Password:="1234"
        Else
             ActiveSheet.Unprotect Password:="1234"
            Target.Offset(5).Resize(3, 1).Locked = True
            ActiveSheet.Protect Password:="1234"
        End If
    End If
End Sub

Niels
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan