Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Blattschutz in Exceldatei mit vielen Tabellenblätt

    Betrifft: Blattschutz in Exceldatei mit vielen Tabellenblätt von: ulrike
    Geschrieben am: 01.09.2003 17:44:20

    Hallo,

    mein Problem ist, dass ich ein sehr umfangreiches Excel File mit ca 20 Tabellenblättern mit Blattschutz versehen muß. Da diese Datei aber immer wieder überarbeitet werden muß, muß ich dann jedesmal wieder 20 x den Blattschutz mit Passwort aufheben, ändern und anschließend 20 mal wieder Blattschutz einpflegen.

    Gibt es eine Möglichkeit das gesamte File mit Blattschutz (inkl. Passwort) zu versehen? Gegebenenfalls auch unter Auslassung einzelner Tabellenblätter?

    Für Hilfe wäre ich sehr dankbar,

    Grüße
    Ulrike

      


    Betrifft: AW: Blattschutz in Exceldatei mit vielen Tabellenblätt von: sergiesam
    Geschrieben am: 01.09.2003 17:49:07

    Hi,

    du kannst folgendes probieren:
    Sub AlleBlätterSchützen()
      Dim sh As Worksheet
      For Each sh In ActiveWorkbook.Sheets
        sh.Protect Password:="Test"
      Next sh
    End Sub
    

    Sub AlleBlätterSchutzAufheben()
      Dim sh As Worksheet
      For Each sh In ActiveWorkbook.Sheets
        sh.Unprotect Password:="Test"
      Next sh
    End Sub
    


    Gruß aus Linz,
    sam


      


    Betrifft: AW: Blattschutz in Exceldatei mit vielen Tabellenblätt von: ulrike
    Geschrieben am: 02.09.2003 09:03:43

    Sam und Herbert habt vielen Dank. Ihr habt mir und meinen Kollegen wöchentlich sicher 2 Std mühsame Arbeit erspart. Unser Dank ist Euch sicher
    Tschüss bis zur nächsten Frage


      


    Betrifft: AW: Blattschutz in Exceldatei mit vielen Tabellenblätt von: HerbertH
    Geschrieben am: 01.09.2003 18:03:25

    Hallo Ulrike,
    wenn Du z.B.auf Blatt 5 u.6 keinen Blattschutz aktivieren willst,
    kannst Du es so probieren:

    Sub blattschutz()
    Dim i As Byte
    Dim i1 As Byte

       For i = 1 To 4
       For i1 = 7 To 10

      Worksheets(i).Protect "kennw"
      Worksheets(i1).Protect "kennw"

    Next
    Next

    End Sub

    Gruß aus Linz
    Herbert


      


    Betrifft: AW: Blattschutz in Exceldatei mit vielen Tabellenblätt von: ulrike
    Geschrieben am: 02.09.2003 09:05:23

    Sam und Herbert habt vielen Dank. Ihr habt mir und meinen Kollegen wöchentlich sicher 2 Std mühsame Arbeit erspart. Unser Dank ist Euch sicher
    Tschüss bis zur nächsten Frage




      


    Betrifft: AW: Blattschutz in Exceldatei mit vielen Tabellenblätt von: HerbertH
    Geschrieben am: 02.09.2003 13:25:44

    Hallo Ulrike,
    noch besser läuft es natürlich mit "Screenupdating",
    da ist nämlich das Flackern des Bildschirms weg...
    etwa so:

    Sub blattschutz()
    Dim i As Byte
    Dim i1 As Byte
    
       For i = 1 To 4
       For i1 = 7 To 10
    
    Application.Screenupdating = False
      Worksheets(i).Protect "kennw"
      Worksheets(i1).Protect "kennw"
    
    Next
    Next
    
    Application.Screenupdating = True
    End Sub
    


    Gruß Herbert


      


    Betrifft: AW: Variante... von: Ullrich Sander
    Geschrieben am: 02.09.2003 09:43:38

    Hallo Ulrike,
    hier eine Variante, die ich mir mal gebastelt habe (auch mit Hilfe dieses Forums)
    Der Vorteil ist, daß das Passwort nicht im Makro erscheint, also der Schutz besser gewährleitet ist.

    Viel Erfolg
    Ullrich Sander

    Sub BlattSchutz()
    Dim wks As Worksheet
    myPwd = Application.InputBox("Passwort eingeben")
    myPwd2 = Application.InputBox("Wiederholung")
    If myPwd = myPwd2 Then
    For Each wks In ActiveWorkbook.Worksheets
    wks.Protect Password:=myPwd
    Next wks
    Else: MsgBox ("Paßwort übereinstimmend eingeben")
    End If
    End Sub
    


    Sub Aufheben()
    Dim wks As Worksheet
    myPwd = Application.InputBox("Passwort eingeben")
    For Each wks In ActiveWorkbook.Worksheets
    wks.Unprotect Password:=myPwd
    Next wks
    End Sub
    



      


    Betrifft: AW: Variante... von: Ullrich Sander
    Geschrieben am: 02.09.2003 09:44:17

    Hallo Ulrike,
    hier eine Variante, die ich mir mal gebastelt habe (auch mit Hilfe dieses Forums)
    Der Vorteil ist, daß das Passwort nicht im Makro erscheint, also der Schutz besser gewährleitet ist.

    Viel Erfolg
    Ullrich Sander

    Sub BlattSchutz()
    Dim wks As Worksheet
    myPwd = Application.InputBox("Passwort eingeben")
    myPwd2 = Application.InputBox("Wiederholung")
    If myPwd = myPwd2 Then
    For Each wks In ActiveWorkbook.Worksheets
    wks.Protect Password:=myPwd
    Next wks
    Else: MsgBox ("Paßwort übereinstimmend eingeben")
    End If
    End Sub
    


    Sub Aufheben()
    Dim wks As Worksheet
    myPwd = Application.InputBox("Passwort eingeben")
    For Each wks In ActiveWorkbook.Worksheets
    wks.Unprotect Password:=myPwd
    Next wks
    End Sub
    



     

    Beiträge aus den Excel-Beispielen zum Thema " Blattschutz in Exceldatei mit vielen Tabellenblätt"