Blattschutz

  • #1
N

nok106

Bekanntes Mitglied
Themenersteller
Dabei seit
10.09.2005
Beiträge
108
Reaktionspunkte
0
Ort
Brunsbüttel
Hallo Excelfreunde !

Ich brauche eure Hilfe !!!

Mein Anliegen ist:

Mit Makro1 werden alle Blätter in der Arbeitsmappe geschützt.

Mit Makro 2 werden die Blätter wieder frei gegeben, ich muß dabei allerdings für jedes Blatt, gesondert das Passwort eingeben. 

Frage: Kann es auch in einem Rutsch  gemacht werden ? 

Hat jemand eine Idee ob das geht und wenn ja - Wie ?

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox Alle Blätter schützen
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect Test
Next ws
End Sub

Sub BlattSchutzAus()
    Dim ws As Worksheet
    For Each ws In Worksheets
    ws.Unprotect
    Next ws
   End Sub


Einstweilen herzlichen Dank an alle, die sich für mich bemühen.

MfG Odje
 
  • #2
Hallo nok106,

das könnte folgendermassen aussehen:

a) folgenden Code in ein Modul der Mappe:
Code:
Option Explicit

Public Const cPW = Test

Sub BlattSchutzAus()
  Dim ws As Worksheet
  Dim sPW As String
  
  Do
    sPW = InputBox( _
            Bitte geben Sie das Passwort zum Entsperren der Blätter ein., _
            Passwort-Eingabe zum Entsperren der Blätter, _
            )
    If sPW =  Then Exit Sub
    If sPW <> cPW Then
      MsgBox Falsches Passwort. Bitte versuchen Sie es erneut.
    Else
      Exit Do
    End If
  Loop
    
  For Each ws In Worksheets
    ws.Unprotect sPW
  Next ws
  
End Sub

b) folgenden Code in die Code-Seite der Arbeitsmappe ('DieseArbeitsmappe')
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  
  Dim ws As Worksheet
  
  For Each ws In Worksheets
    ws.Protect cPW
  Next ws
  
  Set ws = Nothing
End Sub
Gruß Matjes :)
 
  • #3
Hi Matjes,

vielen Dank für deine Hilfe, der Code funktioniert tadellos.

Ich bin immer wieder erstaunt, wenn man Hilfe benötig, dass diese dann von dir kommt.

In meiner Tipps und Tricks - Datei ist dein Name schon ein fester Bestandteil. Danke !!!

Ich habe noch eine Frage:

In meine Tabellenbätter 1 - 12, habe ich eine Schaltfläche installiert, von wo aus ich den Blattschutz deaktivieren kann.

Ist es machtbar das jedes einzelne Blatt, mittels des Buttons entsperrt werden könnte ?

Vielleicht hast du dafür ja auch noch eine Lösung parat !!!

Einstweilen herzlichen Dank.

MfG Odje
 
  • #4
Hallo nok106,

vielen Dank für die Blumen  :D

zu Tabellenbätter 1 - 12:

deiner Arbeitsmappe fügst Du ein Modul hinzu und kopierst den nachfolgendnen Makro hinein.
Code:
Option Explicit
Option Private Module

Function AktivesBlattSchutzAus()
  Dim ws As Worksheet
  Dim sPW As String
  
  Set ws = ActiveSheet
  
  Do
    sPW = InputBox( _
            Bitte geben Sie das Passwort zum Entsperren der Blätter ein., _
            Passwort-Eingabe zum Entsperren der Blätter, _
            )
    If sPW =  Then Exit Function
    If sPW <> cPW Then
      MsgBox Falsches Passwort. Bitte versuchen Sie es erneut.
    Else
      Exit Do
    End If
  Loop
    
  ws.Unprotect sPW
  
End Function

In der Code-Seite jedes der Tabellenblätter muß dann noch folgenden Code enthalten:
Code:
Private Sub CommandButton1_Click()
  Call AktivesBlattSchutzAus
End Sub
Gruß Matjes :)
 
  • #5
Hallo Matjes,

hat alles bestens geklappt. :1

Bis zum nächsten Mal,

MfG Odje
 
Thema:

Blattschutz

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.493
Neuestes Mitglied
Flensburg45
Oben