ich habe ein kleines Problem und komme leider selbst nicht mehr weiter. Ich habe bereits im Internet recherchiert aber bisher noch nichts gefunden das funktioniert. Meine Situation sieht wie folgt aus:
Ein Makro in meiner Datei führt beim Schließen die folgenden Befehle für ein einzelnes Sheet aus: einen bestimmten Bereich sperren, bestimmte Spalten ausblenden und am Ende noch das Sheet mit einem Passwort schützen. Problem: Nachdem der Nutzer den Blattschutz per Passwort deaktiviert hat muss er die ausgeblendeten Spalten manuell wieder sichtbar machen.
Gibt es eine Möglichkeit die Spalten automatisch sichtbar zu machen, sobald der Nutzer den Blattschutz aufgehoben hat? Solange das Blatt geschützt ist soll nichts passieren, in dem Moment wo der Blattschutz aufgehoben wird soll das ganze aber automatisch passieren. Also so etwas wie: If ActiveSheet.Unprotect Then Sheets("Sheet1").Columns("XYZ").EntireColumn.Hidden = False? Und wo müsste ich den Code hinterlegen bzw. welches Event muss ich verwenden?
Mein aktueller Code sieht wie folgt aus:
'Bereich sperren
Sheets("Sheet1").Select
Sheets("Sheet1").Range("A:B").Select
If Selection.Locked = False Then
Selection.Locked = True
Selection.FormulaHidden = False
End If
'Sensible Spalten ausblenden
If Sheets("'Sheet1").Columns("X").EntireColumn.Hidden = False Or Sheets("Sheet1").Columns("Y").EntireColumn.Hidden = False Or Sheets("Sheet1").Columns("Z").EntireColumn.Hidden = False Or Sheets("Sheet1").Columns("X:Y").EntireColumn.Hidden = False Or Sheets("Sheet1").Columns("X:Z").EntireColumn.Hidden = False Or Sheets("Sheet1").Columns("Y:Z").EntireColumn.Hidden = False Then Sheets("Sheet1").Columns("X:Z").EntireColumn.Hidden = True
End If
'Blattschutz mit Passwort aktivieren
Sheets("Sheet1").Select
ActiveSheet.Protect Password:="XYZ", DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowSorting:=True, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Hoffe es kann mir jemand helfen. Schon mal vielen Dank im Voraus!