Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
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
Inhaltsverzeichnis

Frage zum Blattschutz

Frage zum Blattschutz
Gregor
Hallo zusammen
In einem Makro habe ich den Code
With Worksheets("Tabelle1")
.Range(.Cells(1, 1), .Cells(16, 6)).Clear
.Range(.Cells(1, 1), .Cells(16, 6)).Interior.ColorIndex = xlNone
.Range(.Cells(1, 1), .Cells(16, 6)).Font.Size = 10
.Range(.Cells(1, 1), .Cells(16, 6)).Font.Italic = False
End With
Wenn das Blatt mit dem Code
Worksheets("Tabelle1").Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True, userinterfaceonly:=True
geschützt ist,kann ich diesen Code problemlos ausführen. Sobald ich die Datei schliesse und wieder öffne, erhalte ich die Meldung "Die Zelle, die Sie ändern möchten, ist schreibgeschützt".
Sobald ich zuerst wieder den obgenanten Blattschutz ausführe, kann ich die Zellen via VBA wieder ändern.
Wieso funktioniert das nicht, wenn ich die Datei neu öffne obwohl ich beim Schliessen am Blattschutz nichts geändert wird.
Siehe Musterdatei:
https://www.herber.de/bbs/user/79305.xlsm
Vielen Dank und Gruss
Gregor

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

Betreff
Benutzer
Anzeige
AW: Frage zum Blattschutz
09.03.2012 15:14:46
Matthias
Hallo Gregor,
du musst doch erst den Blattschutz aufheben, wenn du mit Protect arbeitest.
With Worksheets("Tabelle1")
.Unprotect
.Range(.Cells(1, 1), .Cells(16, 6)).Clear
.Range(.Cells(1, 1), .Cells(16, 6)).Interior.ColorIndex = xlNone
.Range(.Cells(1, 1), .Cells(16, 6)).Font.Size = 10
.Range(.Cells(1, 1), .Cells(16, 6)).Font.Italic = False
.Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True, userinterfaceonly:=True
End With
Gruß Matthias
AW: Frage zum Blattschutz
09.03.2012 15:31:17
Gregor
Hallo Matthias
Ich habe eben festgestellt, dass das nicht nötig ist, wenn ich den Blattschutz, wie oben beschrieben, setzte. Dann funktioniert der Code trotz Blattschutz. Erst beim Schliessen bzw. nach dem Wiederöffnen kommt die Meldung bezüglich Blattschutz.
Ich benötige diesen Code in x Abfragen, und müsste deshalb immer mit unprotect und protect arbeiten. Da der Code auch mit Blattschutz funktioniert frage ich mich, weshalb nach dem Öffnen der Datei das nicht funktioniert.
Gibt es eine Erklärung bzw. Lösung, ohne immer unprotect und protect zu setzen?
Danke und Gruss
Gregor
Anzeige
weis jetzt nicht genau was du möchtest,
09.03.2012 16:19:05
Matthias
@ Gregor,
du brauchst den Code zum formatieren und löschen 2er Zellen.
Dann machst du einen "Blattschutz" an.(Egal mit welchen Bedingungen)
und "speicherst die Datei" somit ist der "BLATTSCHUTZ" aktiv.
Da kann "ohne" das der Schutz aufgehoben wird nix eingegeben werden.
Stell doch mal deine Mappe hier rein, wer weis denn was du so mit dem Code bearbeitest.
Gruß Matthias
weis jetzt nicht genau was du möchtest,
09.03.2012 16:19:13
Matthias
@ Gregor,
du brauchst den Code zum formatieren und löschen 2er Zellen.
Dann machst du einen "Blattschutz" an.(Egal mit welchen Bedingungen)
und "speicherst die Datei" somit ist der "BLATTSCHUTZ" aktiv.
Da kann "ohne" das der Schutz aufgehoben wird nix eingegeben werden.
Stell doch mal deine Mappe hier rein, wer weis denn was du so mit dem Code bearbeitest.
Gruß Matthias
Anzeige
AW: weis jetzt nicht genau was du möchtest,
09.03.2012 17:06:00
Gregor
Matthias
Ich habe eine Musterdatei bei meiner 1. Frage reingestellt.
https://www.herber.de/bbs/user/79314.xlsm
Solange folgender Blattschutz
Worksheets("Tabelle1").Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True, userinterfaceonly:=True
bei der geöffneten Datei aktiv ist, kann ich die Zellen mit dem Code ändern. Sobald die Datei geschlossen und später wieder geöffnet ist, ist das nicht mehr möglich. Dies kann ich mir nicht erklären. Bei der reingestellten Musterdatei ist das genau so.
Gruss Gregor
Anzeige
AW: versuch mal das
09.03.2012 17:23:51
hary
Hallo Gregor
setz die Blattschutz Zeile ins Workbook_open Ereigniss.

Private Sub Workbook_Open()
Worksheets("Tabelle1").Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True,  _
userinterfaceonly:=True
End Sub

gruss hary
AW: versuch mal das
09.03.2012 22:28:22
Gregor
Hallo Hary
Ja, so funktionieren die Codes trotzt Blattschutz. Wieso ist das nötig, gibt es eine Erklärung dazu.
Auf jeden Fall vielen Dank
Gruss Gregor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige