Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Blattschutz für mehrere Dateien

Blattschutz für mehrere Dateien
22.12.2006 09:23:50
Marcel
Hallo,
ich nutze Excel 2002 und möchte für einige Dateien (die ggf. mehrere Tabellenblätter haben) einen Blattschutz einfügen. Da es relativ viele Dateien sind, möchte ich die Eingabe des Blattschutzes gerne automatisieren. Geht so etwas? Wenn Ja, wie?
Vielen Dank für Eure Hilfe.
Marcel
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz für mehrere Dateien
22.12.2006 09:52:58
Heinz
Hallo Marcel
Ich habe in meiner Mappe es so gemacht.
In einem Tab.Blatt 2 Command Button gesetzt.
Command Button 1 Setzt den Blattschutz.
Command Button 2 hebt den Schutz wieder auf.
ABER OHNE PASSWÖRTER:
Gruß Heinz

Private Sub CommandButton1_Click()
'Sub Blattschutz_alle_Tabellen_gesetzt()
Dim i As Worksheet
Dim z As Integer
z = 0
For Each i In ActiveWorkbook.Worksheets
i.Protect
z = z + 1
Next i
'MsgBox z & " Tabellen geschützt"
End Sub


Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
'Sub Blattschutz_alle_Tabellen_aufheben()
Dim i As Worksheet
For Each i In ActiveWorkbook.Worksheets
i.Unprotect
Next i
End Sub

Anzeige
AW: Blattschutz für mehrere Dateien
22.12.2006 10:09:39
haw
Hallo Marcel,
hier eine Möglichkeit in allen Dateien des angegebenen Ordners und seiner Unterordner alle Tabellenblätter mit einem Passwort zu schützen.
Zum Aufheben des Schutzes einfach Protect durch Unprotect ersetzen:

Sub BlattschutzSetzen()
Dim sSource$, iCount%, iCounter%
Dim wks As Worksheet
sSource = "C:\Daten\"
With Application.FileSearch
.NewSearch
.LookIn = sSource
.Filename = "*.xls"
.SearchSubFolders = True
.Execute
iCount = .FoundFiles.Count
For iCounter = 1 To iCount
Workbooks.Open Filename:=.FoundFiles(iCounter)
For Each wks In ActiveWorkbook.Worksheets
wks.Protect Password:="xxx"
Next wks
ActiveWorkbook.Close True
Next iCounter
End With
End Sub

Gruß Heinz
Anzeige
AW: Blattschutz für mehrere Dateien
22.12.2006 11:20:13
Marcel
Hallo,
vielen Dank für Eure Antworten.
Ich habe noch einmal nachgesehen, der Blattschutz liegt schon vor, ich müßte "nur" noch die Passwörter vergeben.
Wie sieht dann das Script von Heinz aus und was muss ich noch manuell anpassen (z.B. den Pfadnamen)?
Viele Grüße.
Marcel
AW: Blattschutz für mehrere Dateien
22.12.2006 11:26:27
haw
Hallo Marcel,

Sub BlattschutzSetzen()
Dim sSource$, iCount%, iCounter%
Dim wks As Worksheet
sSource = "C:\Daten\"
With Application.FileSearch
.NewSearch
.LookIn = sSource
.Filename = "*.xls"
.SearchSubFolders = True
.Execute
iCount = .FoundFiles.Count
For iCounter = 1 To iCount
Workbooks.Open Filename:=.FoundFiles(iCounter)
For Each wks In ActiveWorkbook.Worksheets
wks.Unprotect
wks.Protect Password:="xxx"
Next wks
ActiveWorkbook.Close True
Next iCounter
End With
End Sub

Hier einfach den Pfad unter sSource und das Passwort (dein Passwort anstatt xxx) anpassen
Gruß Heinz
Anzeige
AW: Blattschutz für mehrere Dateien
22.12.2006 11:38:45
Marcel
Hallo Heinz,
super vielen Dank. Jetzt muss ich mich noch mehr als Laie outen. Gebe ich die Befehle als Makro in einer der Dateien ein, oder wo? Ich möchte ja mehrere Dateien eines Pfades gleichzeitig ändern.
Marcel
AW: Blattschutz für mehrere Dateien
22.12.2006 11:45:05
haw
Hallo Marcel,
den Code gibst du in den Visual Basic Editor ein. In diesen kommst mit Alt und F11.
Du änderst die entsprechenden Strings (Pfad, Passwort)
Du setzt den Cursor in den Code und drückst die Taste F5. Dadurch wird das Makro gestartet. Wenn du einen gültigen Pfad eingegeben hast, wird in allen Excel-Dateien (wegen .Filename = "*.xls") jede Tabelle mit dem angegebenen Passwort geschützt. Sollten aber Dateien dabei sein, in denen es Tabellen gibt, die mit einem Passwort geschützt sind, entsteht ein Laufzeitfehler, aber laut deiner Aussage, sind ja alle ohne Passwort geschützt.
Gruß Heinz
Anzeige
AW: Blattschutz für mehrere Dateien
22.12.2006 12:00:14
Marcel
Hallo Heinz,
vielen Dank und viele Grüße.
Marcel
Anzeige
Anzeige

Infobox / Tutorial

Blattschutz für mehrere Excel-Dateien automatisieren


Schritt-für-Schritt-Anleitung

Um den Blattschutz für mehrere Excel-Dateien zu automatisieren, kannst du die folgenden Schritte ausführen. Diese Anleitung basiert auf dem VBA-Code, der im Forum diskutiert wurde. Stelle sicher, dass du Excel 2002 oder eine neuere Version verwendest.

  1. Visual Basic Editor öffnen: Drücke Alt + F11, um den Visual Basic Editor zu öffnen.

  2. Neues Modul hinzufügen: Klicke im Menü auf Einfügen und wähle Modul.

  3. VBA-Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub BlattschutzSetzen()
       Dim sSource$, iCount%, iCounter%
       Dim wks As Worksheet
       sSource = "C:\Daten\" ' Hier den Pfad anpassen
       With Application.FileSearch
           .NewSearch
           .LookIn = sSource
           .Filename = "*.xls"
           .SearchSubFolders = True
           .Execute
           iCount = .FoundFiles.Count
           For iCounter = 1 To iCount
               Workbooks.Open Filename:=.FoundFiles(iCounter)
               For Each wks In ActiveWorkbook.Worksheets
                   wks.Unprotect ' Entfernt eventuell bestehenden Schutz
                   wks.Protect Password:="xxx" ' Passwort hier anpassen
               Next wks
               ActiveWorkbook.Close True
           Next iCounter
       End With
    End Sub
  4. Anpassungen vornehmen: Ändere den sSource-Pfad zu dem Ordner, in dem deine Excel-Dateien gespeichert sind, und passe das Passwort an.

  5. Makro ausführen: Setze den Cursor in den Code und drücke F5, um das Makro zu starten.


Häufige Fehler und Lösungen

  • Laufzeitfehler: Wenn du auf einen Laufzeitfehler stößt, kann das daran liegen, dass einige der Excel-Dateien bereits geschützte Tabellenblätter enthalten. Stelle sicher, dass alle Blätter in den Dateien ungeschützt sind, bevor du das Makro ausführst.
  • Falscher Pfad: Wenn der angegebene Pfad nicht korrekt ist, wird das Makro keine Dateien finden. Überprüfe den Pfad sorgfältig.
  • Passwort nicht gesetzt: Wenn das Passwort nicht richtig gesetzt wurde, wird der Schutz nicht angewendet. Achte darauf, dass du das Passwort im Code korrekt eingibst.

Alternative Methoden

Neben dem VBA-Code gibt es auch die Möglichkeit, den Blattschutz manuell pro Datei anzuwenden. Du kannst jede Datei einzeln öffnen, zu jedem Tabellenblatt gehen und den Blattschutz über das Menü Überprüfen aktivieren. Dies ist jedoch zeitaufwändig und nicht für viele Dateien geeignet.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du den Blattschutz für eine Datei manuell anwendest:

  1. Öffne die Excel-Datei.
  2. Gehe zu dem Tabellenblatt, das du schützen möchtest.
  3. Klicke auf Überprüfen in der Menüleiste.
  4. Wähle Blattschutz und gib ein Passwort ein.
  5. Wiederhole dies für jedes Tabellenblatt in der Datei.

Für mehrere Dateien ist die VBA-Methode jedoch effizienter.


Tipps für Profis

  • Verwende Schleifen effektiv: Mit VBA kannst du Schleifen nutzen, um schnell durch alle Arbeitsblätter und Dateien zu navigieren, was dir viel Zeit spart.
  • Sichere deine Daten: Bevor du Makros ausführst, solltest du immer eine Sicherungskopie deiner Daten anfertigen.
  • Testen in einer Testumgebung: Probiere den Code zuerst in einer Testumgebung aus, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Kann ich das Passwort für den Blattschutz ändern?
Ja, du kannst das Passwort im VBA-Code anpassen, indem du den Text "xxx" durch dein gewünschtes Passwort ersetzt.

2. Funktioniert das Skript auch in neueren Excel-Versionen?
Ja, das Skript sollte in Excel 2002 und späteren Versionen funktionieren. Achte darauf, die entsprechenden Einstellungen in deinem Excel vorzunehmen.

3. Was passiert, wenn ich das Passwort vergesse?
Wenn du das Passwort vergisst, gibt es keine einfache Möglichkeit, den Blattschutz aufzuheben. Du solltest daher sicherstellen, dass du das Passwort an einem sicheren Ort aufbewahrst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige