Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blattschutz auf alle Blätter

Blattschutz auf alle Blätter
25.08.2005 15:59:59
fastMC
hallo,
ich möchte per makro den blattschutz auf alle blätter der arbeitsmappe anwenden.
habe auch bereits ein "fast" passenden script gefunden. leider fehlt mir dabei der passwortschutz und die option zum anklicken eines fledes darf nicht vorhanden sein. leider mache ich beim einfügen dieser optionen einen fehler...

Sub AlleBlaetterSchuetzen()
For Each Blatt _
In ActiveWorkbook.Sheets
Blatt.Protect _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True
Next
End Sub

hier fehlt noch die option: ActiveSheet.EnableSelection = xlNoSelection
und der passwortschutz
wie füge ich dies in obiges script ein?
im voraus besten dank!!!

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz auf alle Blätter
25.08.2005 16:03:52
u_
Hallo,

Sub AlleBlaetterSchuetzen()
For Each Blatt _
In ActiveWorkbook.Sheets
Blatt.Protect Password:="MyPass" _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True
blatt.enableselection=xlnoselection
Next
End Sub
Gruß
Geist ist geil!
AW: Blattschutz auf alle Blätter
25.08.2005 16:16:28
fastMC
danke für die schnelle antwort... geht aber nicht!
syntaxfahler ab zeile 4
muss man variablen deklarieren? oder ist "Blatt" ein definiertes objekt?
im voraus wiedermal besten dank? (sehr blutiger anfänger)
AW: Blattschutz auf alle Blätter
25.08.2005 16:08:12
Leo
Hi,

Sub AlleBlaetterSchuetzen()
For Each Blatt In ActiveWorkbook.Worksheets
Blatt.Protect Password:="MyPass" _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, Password:= "Leo"
Blatt.Enableselection=xlNoSelection
Next
End Sub

Du musst das auf Worksheets begrenzen.
mfg Leo
Anzeige
AW: Blattschutz auf alle Blätter
25.08.2005 16:19:46
fastMC
hi,
auch dir besten dank.
fehlermeldung: fehler beim compilieren (ab zeile 3)
mfg andreas
AW: Blattschutz auf alle Blätter
25.08.2005 16:37:32
Leo
Hi,
das Argument Password:= ist doppelt!
mfg Leo
AW: Blattschutz auf alle Blätter
25.08.2005 16:46:51
fastMC
daran lag es auch nicht
habe nun folgendes script:

Sub AlleBlaetterSchuetzen()
For Each Blatt In ActiveWorkbook.Worksheets
Blatt.Protect _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
Passwort:="xyz"
Blatt.EnableSelection = xlNoSelection
Next
End Sub

wird beendet mit Laufzeitfehler 1004; Anwendungs oder objektdefinierter fehler
hilfe!!!
AW: Blattschutz auf alle Blätter
25.08.2005 16:54:04
Leo
Hi,

Sub Schutz_alle()
Dim Blatt As Worksheet
For Each Blatt In ActiveWorkbook.Worksheets
With Blatt
.Unprotect Password:="xxx"
.EnableSelection = xlNoSelection
.Protect Contents:=True, DrawingObjects:=True, Scenarios:=True, Password:="xxx"
End With
Next
End Sub

mfg Leo
Anzeige
AW: Blattschutz auf alle Blätter
26.08.2005 08:26:02
fastMC
danke. soweit so gut... alles wie gewünscht!
allerdings wenn ich das dokument speicher und anschließend wieder öffne, ist der blatt-schutz noch da, aber ich kann die felder wieder anklicken!?
also: das xlNoSelection ist nicht mehr aktiv!
das makro kann man nach einmaligem gebrauch doch entfernen? steht ja das passowrt drin!?
AW: Blattschutz auf alle Blätter
26.08.2005 16:20:01
Leo
Hi,
ruf den Code in Worbook_Open auf. EnableSelection wird nicht gespeichert!
mfg Leo
AW: Blattschutz auf alle Blätter
25.08.2005 16:46:54
Michael
Hi,
versuchsmal damit, Da sind wenigstens alle Blätter in deiner Mappe geschützt.

Sub Blattschutz_ein()
Dim TB As Variant
Application.ScreenUpdating = False
For Each TB In ActiveWorkbook.Sheets
TB.Protect Password:="Dein Password"
Next
MsgBox "Tabelle ist nun geschützt !", 48 + 0, "Hinweis:"
End Sub


Sub Blattschutz_aus()
Dim TB As Variant
Application.ScreenUpdating = False
For Each TB In ActiveWorkbook.Sheets
TB.Unprotect Password:="Dein Password"
Next
MsgBox "Der Schutz ist nun aufgehoben !", 64 + 0, "Hinweis:"
End Sub

Grüße
Anzeige
AW: Blattschutz auf alle Blätter
25.08.2005 16:50:01
fastMC
danke,
aber ich möchte dass man kein feld anklicken kann. begründung: man soll die formeln nicht sehen. darum: ActiveSheet.EnableSelection = xlNoSelection
trotzdem danke. ist dies denn überhaupt möglich?
AW: Blattschutz auf alle Blätter
25.08.2005 16:55:42
Michael
Hallo nochmal,
klar geht das,

Sub Blattschutz_ein()
Dim TB As Variant
Application.ScreenUpdating = False
For Each TB In ActiveWorkbook.Sheets
TB.Protect Password:="Dein Password"
ActiveSheet.EnableSelection = xlNoSelection
Next
MsgBox "Tabelle ist nun geschützt !", 48 + 0, "Hinweis:"
End Sub

Beim Blattschutz aus, lässt Du es natürlich weg.
Grüße
Anzeige
AW: Blattschutz auf alle Blätter
26.08.2005 07:45:36
fastMC
hi, die fehlermeldungen sind zumindest weg!
auch die blätter sind alle mit dem dokumentenschutz versehen!
allerdings bezieht sich das xlNoSelection nur auf das aktuelle blatt von dem aus das makro gestartet wurde! ich müsste somit das makro wieder bei allen blättern ausführen...
danke andreas
AW: Blattschutz auf alle Blätter
26.08.2005 09:45:28
Michael
Hallo Andreas,
war mein Fehler, hast Recht.
Jetzt müsste es klappen:

Sub Blattschutz_ein()
Dim TB As Variant
Application.ScreenUpdating = False
For Each TB In ActiveWorkbook.Sheets
TB.Protect Password:="Dein Password"
TB.EnableSelection = xlNoSelection
Next
MsgBox "Tabelle ist nun geschützt !", 48 + 0, "Hinweis:"
End Sub

Grüße
Anzeige
AW: Blattschutz auf alle Blätter
26.08.2005 10:48:09
fastMC
hallo,
nun habe ich folgende fehlermeldung:
Laufzeitfehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht.
seltsam aber dass trotzdem alles ausgeführt wird!
nur wenn ich das dokument speichere und neu öffne ist das xlNoSelection wieder unwirksam...?!!
AW: Blattschutz auf alle Blätter
26.08.2005 11:28:07
Michael
Hi,
komisch, bei mir funzt es und ich hab auch Excel 2003.
Schreib mal Option Explicit über den Code.
Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige