Thema Datum  Von Nutzer Rating
Antwort
17.05.2024 11:53:44 Bettina
NotSolved
17.05.2024 13:29:38 GTA
NotSolved
Rot Passwort aufheben
17.05.2024 13:58:35 GTA
NotSolved

Ansicht des Beitrags:
Von:
GTA
Datum:
17.05.2024 13:58:35
Views:
128
Rating: Antwort:
  Ja
Thema:
Passwort aufheben
    Dim ws As Worksheet
    Dim password As String
    Dim protectedSheets As Collection
    Dim protectedWithPasswordSheets As Collection
    Dim newWorkbook As Workbook
    Dim newSheet As Worksheet
    Dim i As Integer

    ' Initialisiere die Collections
    Set protectedSheets = New Collection
    Set protectedWithPasswordSheets = New Collection

    ' Falls die Blätter passwortgeschützt sind, hier das Passwort eingeben
    password = "1"

    ' Schleife durch alle Arbeitsblätter im aktiven Arbeitsbuch
    For Each ws In ThisWorkbook.Worksheets
        ' Versuche, den Blattschutz aufzuheben
        On Error Resume Next ' Fehlerbehandlung deaktivieren
        ws.Unprotect password:=password
        If Err.Number <> 0 Then
            ' Wenn ein Fehler auftritt (d.h. das Blatt ist passwortgeschützt), erneut ohne Passwort versuchen
'            ws.Unprotect password:=password
            If Err.Number <> 0 Then
                ' Wenn ein Fehler auftritt (d.h. das Blatt ist passwortgeschützt mit Passwort), Blattname zur Collection hinzufügen
                protectedSheets.Add ws.Name
                protectedWithPasswordSheets.Add ws.Name
                ' Fehler zurücksetzen
                Err.Clear
            Else
                ' Blatt ist geschützt ohne Passwort
                protectedSheets.Add ws.Name
            End If
        Else
            ' Blatt war geschützt, aber ohne Passwort
            protectedSheets.Add ws.Name
        End If
        On Error GoTo 0 ' Fehlerbehandlung wieder aktivieren
    Next ws

    ' Neue Arbeitsmappe erstellen
    Set newWorkbook = Workbooks.Add
    Set newSheet = newWorkbook.Sheets(1)
    newSheet.Name = "Geschützte Blätter"
    
    ' Überschriften in die erste Zeile schreiben
    newSheet.Cells(1, 1).Value = "Geschützte Blätter"
    newSheet.Cells(1, 2).Value = "Mit Passwort"

    ' Die Namen der geschützten Blätter in die neue Tabelle einfügen
    For i = 1 To protectedSheets.Count
        newSheet.Cells(i + 1, 1).Value = protectedSheets(i)
        If Contains(protectedWithPasswordSheets, protectedSheets(i)) Then
            newSheet.Cells(i + 1, 2).Value = "Ja"
        Else
            newSheet.Cells(i + 1, 2).Value = "Nein"
        End If
    Next i
    
    MsgBox "Blattschutz für alle Blätter aufgehoben. Geschützte Blätter wurden aufgelistet."
End Sub

Function Contains(col As Collection, item As Variant) As Boolean
    Dim i As Variant
    For Each i In col
        If i = item Then
            Contains = True
            Exit Function
        End If
    Next i
    Contains = False
End Function


Hier noch verbessert. Es hebt bei allen Blättern den Blattschutz auf und listet, wenn es ein Blatt ist ohne bekanntes Passwort in einer neuen Tabelle auf.

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
17.05.2024 11:53:44 Bettina
NotSolved
17.05.2024 13:29:38 GTA
NotSolved
Rot Passwort aufheben
17.05.2024 13:58:35 GTA
NotSolved