Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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

Blattschutz auf vielen Arbeitsblättern ändern

Blattschutz auf vielen Arbeitsblättern ändern
23.03.2009 21:29:26
lakritze
Hallo in die Runde,
ich habe eine Datei mit sehr vielen Arbeitsblättern, die einen Blattschutz haben, aber leider nicht mit dem gleichen Kennwort. Nun sollen die Arbeitsblätter alle geändert werden. Gibt es mittels VBA eine Möglichkeit, allen Arbeitsblättern das gleiche Kennwort zuzuweisen, ohne vorher für alle Arbeitsblätter den Blattschutz manuell aufzuheben?
Danke schonmal für die Hilfe und viele Grüße,
lakritze

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

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz auf vielen Arbeitsblättern ändern
23.03.2009 21:41:01
Josef
Hallo ?,
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub password()
  Dim objWs As Worksheet
  Dim strOldPW As String, strNewPW As String
  Dim strArray() As String
  Dim intCnt As Integer
  
  strOldPW = "abc;def;ghi" 'alle möglichen alten Passwörter durch ; getrennt!
  strNewPW = "xyz" 'neues Passwort
  
  
  strArray = Split(strOldPW, ";")
  
  On Error Resume Next
  For Each objWs In ThisWorkbook.Worksheets
    With objWs
      For intCnt = 0 To UBound(strArray)
        .Unprotect strArray(intCnt)
        If .ProtectContents = False Then Exit For
      Next
      .Protect strNewPW
    End With
  Next
  On Error GoTo 0
End Sub

Gruß Sepp

Anzeige
AW: Blattschutz auf vielen Arbeitsblättern ändern
23.03.2009 21:41:48
Timmy
Hallo lakritze,
1) nimm doch den Blattschutz raus und schuetze die gesamte Mappe mit z.B. folgendem Code in "Diese Arbeitsmappe":

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If Target.HasFormula Then
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
End If
End Sub


So wird das Blatt solangegeschuetzt, bis eine Zelle, die eine Formel enthaelt, aktiviert wird.
2) Oder aber waehle ueber "Speichern unter" den Menüpunkt "Extras" und allgemeine Optionen und vergebe einen Schreibschutz für die ganze Mappe. Dann kannst die Datei oeffnen, aber nicht bearbeiten, solange du das Kennwort nicht kennst.
Gruss
Timmy

Anzeige
AW: Blattschutz auf vielen Arbeitsblättern ändern
23.03.2009 21:45:45
Tino
Hallo,
hier mal ein Beispiel, die Tabellennamen zu dem entsprechenden Kennwort
musst Du natürlich noch anpassen
Sub test()
Dim i As Integer

For i = 1 To Worksheets.Count
 With Worksheets(i)
    Select Case .Name
     
     Case "Tabelle1", "Tabelle3"
       .Unprotect "altes Kennw."
       .Protect "neues Kennw."
    
     Case "Tabelle2", "Tabelle4", "Tabelle5"
       .Unprotect "altes Kennw."
       .Protect "neues Kennw."
    
     Case "Tabelle6"
       .Unprotect "altes Kennw."
       .Protect "neues Kennw."
    
    End Select
 End With
Next i
End Sub


Gruß Tino

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige