PDA

Vollständige Version anzeigen : Mehrere Blätter gleichzeitig schützen


joku
10.05.2001, 22:40
Ich habe in Excel 97 eine Mappe mit ca. 60 Blättern (Daten zur Zeiterfassung für Mitarbeiter). Wie kann ich, wenn ich z. B. 20 unterschiedliche Blätter ausgewählt habe, erreichen, dass für alle diese Blätter der Blattschutz gleichzeitig gesetzt bzw. aufgehoben werden kann?



[Dieser Beitrag wurde von joku am 10.05.2001 editiert.]

O-Schreiner
11.05.2001, 09:19
Erst wollte ich sagen: "Markiere die einzelnen Blätter (über die Register unten links) wie gewohnt, also Klick auf's erste und dann Shift+Klick auf's letzte und dann stelle den Schutz ein" aber *oh Graus* wenn ich mehrere Blätter markiert habe, dann ist im Menü "Schutz" der Befehl "Blatt" deaktiviert, dann geht nur noch "Mappe". Ich hoffe Du kannst Dir das erlauben die ganze Mappe zu schützen, denn sonst fällt mir im Moment auch nichts ein :(

cu, Olly

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>

Kruemelmonster
22.05.2001, 14:14
Hallo Joku!
Das gleiche Problem hatte ich auch. Du könntest es vielleicht mit einem Makro lösen und zwei Schaltflächen eine um Deine Blätter zu schützen, eine um dein Blatt Schutz aufzuheben.

Blätter Schützen:

Sub Schaltfläche1_BeiKlick()
Sheets("Tabelle1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Tabelle2").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
usw bis Blatt 60

Blattschutz aufheben:

Sub Schaltfläche2_BeiKlick()
Sheets("Tabelle1").Select
ActiveSheet.Unprotect
Sheets("Tabelle2").Select
ActiveSheet.Unprotect
usw bis Blatt 60

Vielleicht konnte ich Dir etwas weiterhelfen
Gruss Kruemelmonster

joku
08.06.2001, 20:40
.... usw bis Blatt 60 Muss ich die Tabellennamen wirklich alle von Hand hinschreiben (sie ändern sich leider gelegentlich) oder gibt es auch ein Progrämmli, dass sich die Namen selber sucht?

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>

Alfons Seeberger
10.06.2001, 08:24
Hallo Joku,
wie wär's damit:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Sub</span> Blattschutz_ein()
<span class="REM">'sch&uuml;tzt alle Bl&auml;tter dieser Datei</span>
<span class="TOKEN">Dim</span> Blatt <span class="TOKEN">As</span> Worksheet
&nbsp;
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> Blatt <span class="TOKEN">In</span> Worksheets
Blatt.Protect &quot;Himmel&quot;
<span class="TOKEN">Next</span> Blatt
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span><hr>&nbsp;
<span class="TOKEN">Sub</span> Blattschutz_aus()
<span class="REM">'Blattschutz aufheben</span>
<span class="TOKEN">Dim</span> Blatt <span class="TOKEN">As</span> Worksheet
&nbsp;
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> Blatt <span class="TOKEN">In</span> Worksheets
Blatt.Unprotect &quot;Himmel&quot;
<span class="TOKEN">Next</span> Blatt
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

schönen Gruß
Alfons

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag der Code für dieses Forum angepasst und der Link auf die nicht mehr unter der angegebenen Adresse vorhandene HP entfernt.<font>

joku
10.06.2001, 22:37
Danke!
Ist "Himmel" dabei das Passwort? Wenn man's weglässt, sind dann die Seiten ohne Passwort geschützt? (Weglassen oder ""?)
Schutz ohne Passwort reicht mir, da ich nur versehentliches Löschen von (mir kostbaren) Formeln verhindern will, und keine bösen User von Schlimmerem abhalten muss.

Alfons Seeberger
11.06.2001, 13:30
Hallo Joku,
du kannst die Zeilen einfach weglassen also so:
<font size="2" face="Courier New, FixedSys"><blockquote><font color="#0000CC">Sub</font> Blattschutz_ein()<font color="#000000">
<font color="#0000CC">Dim</font> Blatt <font color="#0000CC">As</font> Worksheet

&nbsp; &nbsp; <font color="#0000CC">For Each</font> Blatt <font color="#0000CC">In</font> Worksheets
&nbsp; &nbsp; Blatt.Protect
&nbsp; &nbsp; <font color="#0000CC">Next</font> Blatt
<font color="#0000CC">End Sub</font></font></font></blockquote></font><font face="FixedSys, Courier New">
<font size="2" face="Courier New, FixedSys"><blockquote><font color="#0000CC">Sub</font> Blattschutz_aus()<font color="#000000">
<font color="#0000CC">Dim</font> Blatt <font color="#0000CC">As</font> Worksheet

&nbsp; &nbsp; <font color="#0000CC">For Each</font> Blatt <font color="#0000CC">In</font> Worksheets
&nbsp; &nbsp; Blatt.Unprotect
&nbsp; &nbsp; <font color="#0000CC">Next</font> Blatt
<font color="#0000CC">End Sub</font></font></font></blockquote></font><font face="FixedSys, Courier New">


viel Spaß
Alfons
<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag der Link auf die nicht mehr unter der angegebenen Adresse vorhandene HP entfernt.<font>

nobby1951
21.02.2006, 13:38
Hallo,
habe auch das Problem von mehereren Blättern (31), die per Makro geschützt werden müssen. Die vorgenannten Zeilen habe ich also eingegeben, bekomme aber folgende Fehlermeldung:
Laufzeitfehler 424
Objekt erforderlich

Ich kann leider kein VB und deshlab bin ich jetzt aufgeschmissen :-)

Kann mir jemand helfen?

Gruß Nobby
PS: ich arbeite mit Excel 97

Hajo_Zi
21.02.2006, 13:43
Hallo Nobby,

Du hast den Code in einem Modul eingefügt?

<img src="http://home.media-n.de/ziplies/images/grusz1.gif" align="middle" height="30" alt="Grußformel"><a href="http://home.media-n.de/ziplies/" target="_blank"><img border="0" src="http://home.media-n.de/ziplies/images/logo_hajo.gif" align="middle" height="30" alt="Homepage"></a>

nobby1951
21.02.2006, 13:46
Bin in VB gegangen, habe dort "Code einfügen" angeklickt und alles entsprechend eingetragen.

Gruß Nobby

nobby1951
21.02.2006, 13:50
Ich habe auch links im Fenster "Diese Arbeitsmappe" angeklickt

Hajo_Zi
21.02.2006, 13:51
Hallo Nobby,

das war keine Antwort auf meine Frage. In VBA gibt es:
1. DieseArbeitsmappe
2. Tabelle
3. Modul
4. KLassenmodul

Ich sehe keinen Grund warum Der Code nicht unter Version 97 laufen sollte, teste kann ich das aber erst am Abend.

<a href="http://home.media-n.de/ziplies/" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

nobby1951
21.02.2006, 13:54
OK, ich muss jetzt auch raus, ich melde mich heute abend nochmal.

Gruß Nobby

nobby1951
21.02.2006, 17:32
Vielleicht reden wir aneiander vorbei oder ich drücke mich nicht verständlich aus.
Folgende Schritte habe ich ausgeführt:
1. In meiner Excel-Datei und EXTRAS/MAKRO/VISUAL BASIC EDITOR aufgerufen
2. im linken Bereich (VBA-Projekt) sind alle Tabellenblätter aufgeführt. Hier habe ich "DieseArbeitsmappe" angeklickt.
3. auf dem Bereich "DieseArbeitsmappe" rechte Maustaste und "Einfügen/Modul" gewählt.
4. Danach die Zeilen von Alfons Seeberger eingefügt:

Sub Blattschutz_ein()
Dim Blatt As Worksheet

For Each Blatt In Worksheets
Blatt.Protect
Next Blatt
End Sub


Sub Blattschutz_aus()
Dim Blatt As Worksheet

For Each Blatt In Worksheets
Blatt.Unprotect
Next Blatt
End Sub


5. Danach VisualBasicEditor geschlossen.

Ich bin jetzt zu Hause und da habe ich Excel 2002. Ich habe also diese Schritte hier nochmal ausgeführt und siehe da, mit Excel2002 funktioniert es.

Gruß Nobby

jinx
21.02.2006, 17:40
<font size="2" face="Century Gothic">Moin, Nobby,

der angegebene Code funktioniert bei mir (Windows XP Pro, Excel97 SR-2) sowohl bei Einfügen in DieseArbeitsmappe, ein Tabellenklassenmodul oder ein allgemeines Modul (Start aus der VBE per F5)...</font>

nobby1951
21.02.2006, 17:48
Vielen Dank für die Info, dann muss ich im Büro doch noch irgendeinen Fehler gemacht haben. Ich werde es gleich morgen früh ausprobieren.

Gruß Nobby

Hajo_Zi
21.02.2006, 18:03
Hallo No0bby,

ich kann jinx nur zustimmen. Ich bin jetzt auch zu Hause und habe es getestet unter Excel 9 SP2 ohne Probleme.

<a href="http://home.media-n.de/ziplies/" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

nobby1951
22.02.2006, 16:23
Hallo Jinx und Hajo,
habe alles im Büro nochmal ausprobiert und was soll ich Euch sagen, auch da hat es funktioniert. Keine Ahnung, warum es gestern die Fehlermeldung gab. Aber ich sags ja immer wieder: "Das Problem sitzt immer VOR dem Bildschirm". ;-)

In diesem Sinne nochmals vielen Dank für Eure Mühe.

Gruß Nobby

DrBug
28.06.2006, 12:37
Hallo zusammen,

funktioniert super!

Nur werden Diagramme nicht mit geschützt. Gibt es dafür auch eine Lösung?

Schon mal vielen Dank für die Hilfe.

Der Bug

Hajo_Zi
28.06.2006, 17:10
Hallo Hans Bärbel <img src="http://smilie-land.de/t/i-l/lachen/lachen0048.gif">,

welche Excelversion? Zeichne doch mal den Schutz mit dem Makrorecorder auf.

<a href="http://home.media-n.de/ziplies/" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

Gerd U.
28.06.2006, 18:32
Hier mal ein Vorschlag für den Blattschutz zum ausprobieren.

(hab ich mit Hilfe der Experten hier erstellt :D )



Gruss Gerd