Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ActiveSheet.Unprotect

Forumthread: ActiveSheet.Unprotect

ActiveSheet.Unprotect
13.10.2021 14:03:11
Michael
Hallo Zusammen,
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
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet.Unprotect
13.10.2021 17:14:31
Piet
Hallo
ich habe deinen Code mal von Select bereinigt, so sollte er besser laufen.
Was du mit Hash-Wert und Saltwert meinst ist mir zu hoch. Da kann ich dir nicht helfen. Das wissen sicher die Kollegen
mfg Piet
  • 
    Public Sub Admin()
    Dim strInput As String, 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").EntireColumn.Hidden = False
    Range("F2:AJ2").Locked = False
    Range("F2:AJ2").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").Locked = True
    Range("F5:AJ5").Locked = True
    Range("F5:AJ5").FormulaHidden = True
    Range("F3:AJ4").Locked = False
    Range("F3:AJ4").FormulaHidden = True
    ActiveWindow.DisplayHeadings = False
    For m = 15 To 34
    If Len(Cells(2, m)) = 0 Then
    For n = m To 35
    Columns(n).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
    

  • Anzeige
    AW: ActiveSheet.Unprotect
    14.10.2021 06:51:17
    Michael
    Guten Morgen,
    habe gelesen das in der Excel 365 Version, das Passwort nicht mehr stehen kann und dies durch den Hash-Wert und der Saltwert hinterlegt werden sollen. Somit läuft Dein Code leider auch nicht.
    Gruß Michael
    AW: ActiveSheet.Unprotect
    14.10.2021 09:28:50
    Rudi
    also,
    
    Sub aa()
    ActiveSheet.Protect "test"
    End Sub
    
    
    Sub ab()
    ActiveSheet.Unprotect "test"
    End Sub
    
    funktioniert tadellos.
    Gruß
    Rudi
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige