ActiveSheet.Unprotect
13.10.2021 14:03:11
Michael
ich habe vom Kollege eine Exceltabelle übernommen da er im Ruhestand ist. In dieser hat er Ein Textfeld mit Makro zugewiesen, das den Blattschutz aufhebt, und durch anklicken wieder aktiviert.
Nun ist es mit unserer Excel 365 Version nicht mehr kompatibel weil ja nun ein Hash-Wert und der Saltwert hinterlegt werden soll.
Mein Makro sieht so aktuell aus.
Option Explicit
Public Sub Admin()
Dim strInput As String
Dim m&, n&
On Error GoTo err_Admin
Application.ScreenUpdating = False
If [Schaltfläche 39].Caption = "Admin" Then
strInput = InputBox("Passworteingabe:")
If strInput = "qmtopsecret" Then
ActiveSheet.Unprotect "!160qmdf"
Columns("F:AL").Select
Selection.EntireColumn.Hidden = False
Range("F2:AJ2").Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveWindow.DisplayHeadings = True
ActiveWindow.Zoom = ActiveSheet.Range("F6:F36").Activate
Range("F2").Select
[Schaltfläche 39].Caption = "kein Admin"
ActiveSheet.Protect "!160qmdf", AllowFormattingCells:=True, AllowFiltering:=True
ElseIf Len(strInput) = 0 Then
MsgBox "Bitte ein Passwort eingeben!", vbExclamation
Else
MsgBox "Bitte ein gültiges Passwort eingeben!", vbCritical
End If
Else
ActiveSheet.Unprotect "!160qmdf"
Range("F1:AJ2").Select
Selection.Locked = True
Range("F5:AJ5").Select
Selection.Locked = True
Selection.FormulaHidden = True
Range("F3:AJ4").Select
Selection.Locked = False
Selection.FormulaHidden = True
ActiveWindow.DisplayHeadings = False
For m = 15 To 34
If Len(Cells(2, m)) = 0 Then
For n = m To 35
Columns(n).Select
Selection.EntireColumn.Hidden = True
Next
Exit For
End If
Next
[Schaltfläche 39].Caption = "Admin"
ActiveWindow.Zoom = ActiveSheet.Range("F6:G36").Activate
ActiveSheet.Protect "!160qmdf", AllowFiltering:=True
Range("F6").Select
End If
Application.ScreenUpdating = True
Exit Sub
err_Admin:
ActiveWindow.DisplayHeadings = False
Application.ScreenUpdating = True
ActiveSheet.Protect "!160qmdf", AllowFiltering:=True
End Sub