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

Werkblad beveiligen tegen kopieren en plakken

Status
Niet open voor verdere reacties.

Kevercat

Gebruiker
Lid geworden
11 aug 2008
Berichten
88
Ik heb een werkblad met een aantal Macro's die de tekstkleur in een cel kunnen wijzigen, daarnaast formules met verwijzingen.

Bij het beveiligen van het werkblad heb ik alles uitgezet behalve "Ontgrendelde cellen selecteren" en "Celeigenschappen". Vervolgens zijn de cellen die niet bewerkt mogen worden geblokkeerd op het tabblad bescherming (bij celeigenschappen).

Ik kan nu nog steeds kopieren en plakken dmv CTRL-C en CTRL-V en dmv Bewerken > Kopieren en plakken. Als dit gebeurd ontstaan er fouten in de verwijzingen en kan ik de boel weer gaan repareren. Hoe kan ik nu voorkomen dat er gebruik wordt gemaakt van de kopieer en plak mogelijkheden?
 
Helaas is er geen optie die ui te zetten is oid.

Toch ie hte op verschillende manieren wel voor lkaar te krijgen

Een daarvan is deze manier

mvg Leo
 
Een daarvan is deze manier
mvg Leo

Bedankt voor deze oplossing Leo, alleen werkt deze maar voor de helft. Het kopieren, knippen en plakken dmv CTRL-C, CTRL-X, en CTRL-V worden geblokkeerd maar ik kan het nog wel via de bewerken > kopieren, knippen of plakken. Juist die laatste wordt met deze spreadsheet nogal veel gebruikt.
Tevens wordt dit in het gehele werkboek uit gezet maar dat is niet nodig, alleen het eerste blad moet hiermee beschermd worden. Of ga ik nu te veel vragen?
 
Excel 2007

Dat is een lastige verhaal. Ik werk daar nog niet veel mee.
Het lint is iiig veel moeilijker aan te passen.

Application.SendKeys ("^{F1}")
in de workbook_open event maakt het blad beeldvullend en dan verdwijnt het lint
Bij sluiten moet je dat dan nog een keer doen.
Het is zeker niet waterdicht, maar het maakt het iets moeilijker.

Het is goed mogelijk om alleen een blad te beschermen

Code:
Private Sub Workbook_Activate() 
    Call ToggleCutCopyAndPaste(False) 
End Sub 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    Call ToggleCutCopyAndPaste(True) 
End Sub 
 
Private Sub Workbook_Deactivate() 
    Call ToggleCutCopyAndPaste(True) 
End Sub 
 
Private Sub Workbook_Open() 
    Call ToggleCutCopyAndPaste(False) 
End Sub

En deze zet je in de events van het betreffende worksheet.

Code:
Private Sub Worksheet_Activate() 
    Call ToggleCutCopyAndPaste(False) 
End Sub 
  
Private Sub worksheet_Deactivate() 
    Call ToggleCutCopyAndPaste(True) 
End Sub

mvg Leo
 
Code:
Private Sub Workbook_Activate() 
    Call ToggleCutCopyAndPaste(False) 
End Sub 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    Call ToggleCutCopyAndPaste(True) 
End Sub 
 
Private Sub Workbook_Deactivate() 
    Call ToggleCutCopyAndPaste(True) 
End Sub 
 
Private Sub Workbook_Open() 
    Call ToggleCutCopyAndPaste(False) 
End Sub

En deze zet je in de events van het betreffende worksheet.

Code:
Private Sub Worksheet_Activate() 
    Call ToggleCutCopyAndPaste(False) 
End Sub 
  
Private Sub worksheet_Deactivate() 
    Call ToggleCutCopyAndPaste(True) 
End Sub
mvg Leo

Deze code geeft de foutmelding "Compileerfout Sub Function is niet gedefinieerd" (bij elke opdracht) en VBA is niet echt mijn ding, ik zie dus niet waar het fout gaat. De eerste code staat in This workbook en de 2e code in het 1e blad. Zo had ik het begrepen.
 
Oké,
Ik ben verder gegaan met de eerdere code
Dit wordt n.l. aangeroepen en moet in een module staan.
Code:
Sub ToggleCutCopyAndPaste(Allow As Boolean) 
     'Activate/deactivate cut, copy, paste and pastespecial menu items
    Call EnableMenuItem(21, Allow) ' cut
    Call EnableMenuItem(19, Allow) ' copy
    Call EnableMenuItem(22, Allow) ' paste
    Call EnableMenuItem(755, Allow) ' pastespecial
     
     'Activate/deactivate drag and drop ability
    Application.CellDragAndDrop = Allow 
     
     'Activate/deactivate cut, copy, paste and pastespecial shortcut keys
    With Application 
        Select Case Allow 
        Case Is = False 
            .OnKey "^c", "CutCopyPasteDisabled" 
            .OnKey "^v", "CutCopyPasteDisabled" 
            .OnKey "^x", "CutCopyPasteDisabled" 
            .OnKey "+{DEL}", "CutCopyPasteDisabled" 
            .OnKey "^{INSERT}", "CutCopyPasteDisabled" 
        Case Is = True 
            .OnKey "^c" 
            .OnKey "^v" 
            .OnKey "^x" 
            .OnKey "+{DEL}" 
            .OnKey "^{INSERT}" 
        End Select 
    End With 
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan