In mijn Excel gebruik ik een Keycell (A7) om een actie te verrichten.
Bij die actie wordt als eerste de werkbladbeveiliging uitgezet, en als laatste weer aangezet.
Wanneer ik de inhoud van één van de witte cellen verander vervalt plotseling de werkbladbeveiliging.
Kan iemand mij helpen dit te voorkomen?
wachtwoord = "x"
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Einde
' Application.ScreenUpdating = False
'Werkblad beveiliging uitzetten
Dim BladBeveiligd As Boolean
BladBeveiligd = ActiveWorkbook.ActiveSheet.ProtectContents
If BladBeveiligd Then ThisWorkbook.Sheets("INVOER").Unprotect Password:=wachtwoord
' Verandering van Keycell start actie
Dim KeyCells As Range
Set KeyCells = Range("_ProductKeuze")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Filteren
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In Range("D11200")
If xRg.Value = "0" Then
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
End If
Next xRg
'Werkbladbeveiliging terug in oorspronkelijke staat
Einde:
If BladBeveiligd Then InvoerLock_Click
End If
Application.ScreenUpdating = True
End Sub
Bij die actie wordt als eerste de werkbladbeveiliging uitgezet, en als laatste weer aangezet.
Wanneer ik de inhoud van één van de witte cellen verander vervalt plotseling de werkbladbeveiliging.
Kan iemand mij helpen dit te voorkomen?
wachtwoord = "x"
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Einde
' Application.ScreenUpdating = False
'Werkblad beveiliging uitzetten
Dim BladBeveiligd As Boolean
BladBeveiligd = ActiveWorkbook.ActiveSheet.ProtectContents
If BladBeveiligd Then ThisWorkbook.Sheets("INVOER").Unprotect Password:=wachtwoord
' Verandering van Keycell start actie
Dim KeyCells As Range
Set KeyCells = Range("_ProductKeuze")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Filteren
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In Range("D11200")
If xRg.Value = "0" Then
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
End If
Next xRg
'Werkbladbeveiliging terug in oorspronkelijke staat
Einde:
If BladBeveiligd Then InvoerLock_Click
End If
Application.ScreenUpdating = True
End Sub