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

gebruik van delete-knop vergrendelen

Status
Niet open voor verdere reacties.

Efsix

Gebruiker
Lid geworden
14 jan 2007
Berichten
181
Ik heb een Excel bestand gemaakt met een behoorlijke hoeveelheid 'validatie' velden.
Wanneer een reeds gekozen validatie wordt verwijderd door gebruik van Delete wordt niet alleen de cel leeg gemaakt maar tevens wordt de formule in deze cel verwijderd.
Gevolg is dat berekeningen op basis van deze formule niet meer kunnen worden uitgevoerd.

Mijn vraag is nu; kan ik via een macro het gebruik van deze Delete-toets worden vergrendeld?

groeten, Romé
 
Ik heb een Excel bestand gemaakt met een behoorlijke hoeveelheid 'validatie' velden.
Wanneer een reeds gekozen validatie wordt verwijderd door gebruik van Delete wordt niet alleen de cel leeg gemaakt maar tevens wordt de formule in deze cel verwijderd.
Gevolg is dat berekeningen op basis van deze formule niet meer kunnen worden uitgevoerd.

Mijn vraag is nu; kan ik via een macro het gebruik van deze Delete-toets worden vergrendeld?

groeten, Romé

Waarom niet gewoon het blad beveiligen om de cellen met de validatie te beveiligen en de overige cellen wel beschikbaar te houden?

Met vriendelijke groet,


Roncancio
 
Hoi Rome,

Een eenvoudige manier om formules te beveiligen is een macrootje dat de formule naar een veilige plaats wegschrijft. Als de gebruiker de formule verwijderd of aanpast dan zet de macro de formule gewoon weer terug.

Efficient en uiterst irritant voor saboteurs (opzettelijk en per ongeluk).

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("H1").HasFormula And Range("H2") <> "Zee" Then
If Range("H1").Formula <> ActiveCell.Formula Then ActiveCell.Formula = Range("H1").Formula
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.HasFormula Then Range("H1").Formula = ActiveCell.Formula Else Range("H1").Clear
End Sub

Deze code zet een formule in H1 en zet hem weer terug indien er een verandering in het actieve veld komt. Als het wachtwoord "Zee" echter in H2 gezet wordt wordt de werking van de macro uitgeschakeld. Zelf kun je dus wel formules veranderen.

mvg,

Jeroen Zeedijk
 
Hoi Rome,

Een eenvoudige manier om formules te beveiligen is een macrootje dat de formule naar een veilige plaats wegschrijft. Als de gebruiker de formule verwijderd of aanpast dan zet de macro de formule gewoon weer terug.

Efficient en uiterst irritant voor saboteurs (opzettelijk en per ongeluk).

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("H1").HasFormula And Range("H2") <> "Zee" Then
If Range("H1").Formula <> ActiveCell.Formula Then ActiveCell.Formula = Range("H1").Formula
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.HasFormula Then Range("H1").Formula = ActiveCell.Formula Else Range("H1").Clear
End Sub

Deze code zet een formule in H1 en zet hem weer terug indien er een verandering in het actieve veld komt. Als het wachtwoord "Zee" echter in H2 gezet wordt wordt de werking van de macro uitgeschakeld. Zelf kun je dus wel formules veranderen.

mvg,

Jeroen Zeedijk


Hallo Jeroen,

Ik ben eens aan het stoeien gegaan met jouw Macro in combinatie met mijn 'probleem'.
Deze oplossing werkt nog veel beter dan ik voor mogelijk had gehouden.
Het voldoet volkomen aan mijn wensen. Ik wil jouw daarom hartelijk bedanken voor het mee-denken.

groeten, Romé
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan