Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

    36 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige