Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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

Tabellenblätter mit anderen Schreibschutzoptionen

Tabellenblätter mit anderen Schreibschutzoptionen
09.11.2013 11:17:45
mikey20
Hi
ich habe hier ein problem mit einigen Tabellenblättern.
Ich würde gerne in der workbook open gleich verschiedene
registerkarten reinschreiben mit unterschiedlichen
Schreibschutzoptionen.
Ich weiß leider nicht ob das möglich ist.
Ich habe ein Tabellenblatt mit Bilder angelegt dort sollte man nichts
auswählen können weder mit der rechten Maustaste noch sonst wie.
Ich habe schon den Makro Recorder benutzt und folgende Werte erhalten
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoSelection
End Sub
nur leider weiß ich nicht wie man das ganze beim starten so integriert.
das passwort ist. test
habe mal eine beispielmappe hochgeladen.
https://www.herber.de/bbs/user/88006.xlsm
und hier noch der makro code der in dieser arbeitsmappe eingefügt worden ist.
Option Explicit

Private Sub Workbook_Activate()
Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", False)"
Application.DisplayFormulaBar = False
End Sub

Private Sub Workbook_Deactivate()
Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", True)"
Application.DisplayFormulaBar = True
End Sub

Private Sub Workbook_Open()
Dim arr, i As Integer
arr = Array("Rechnungen", "Mahnungen", "Kunden")
Application.ScreenUpdating = False
For i = 0 To UBound(arr)
With Sheets(arr(i))
.Unprotect Password:="test"
.Range("C15").ClearContents
Application.Goto Reference:=.Range("A1"), Scroll:=True
.Protect Password:="test", Userinterfaceonly:=True, DrawingObjects:=True, _
Contents:=True, Scenarios:=True, AllowFiltering:=True
End With
Next i
Worksheets("Rechnungen").ScrollArea = "$A$1:$W$50"
Worksheets("Mahnungen").ScrollArea = "$A$1:$AP$450"
Worksheets("Kunden").ScrollArea = "$A$1:$AQ$450"
Sheets("Rechnungen").Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter mit anderen Schreibschutzoptionen
11.11.2013 10:13:11
fcs
Hallo Mickey,
mit entsprechenden Prüfungen via Select Case für die verschiedenen Blätter kannst du die unterschiedlichen Aktionen für die Blätter steuern.
Gruß
Franz
Beispiel:
Private Sub Workbook_Open()
Dim arr, i As Integer
arr = Array("Rechnungen", "Mahnungen", "Kunden", "BildBlatt")
Application.ScreenUpdating = False
For i = 0 To UBound(arr)
With Sheets(arr(i))
'Diese Aktionen in jedem Blatt ausführen
.Unprotect Password:="test"
Select Case arr(i)
Case "Rechnungen", "Mahnungen", "Kunden"
'Diese Aktionen in jedem der Blätter ausführen
.Range("C15").ClearContents
Application.Goto Reference:=.Range("A1"), Scroll:=True
'individuelle aktionen in den Blättern
Select Case arr(i)
Case "Rechnungen"
.ScrollArea = "$A$1:$W$50"
Case "Mahnungen"
.ScrollArea = "$A$1:$AP$450"
Case "Kunden"
.ScrollArea = "$A$1:$AQ$450"
End Select
.Protect Password:="test", Userinterfaceonly:=True, DrawingObjects:=True, _
Contents:=True, Scenarios:=True, AllowFiltering:=True
Case "BildBlatt"
.Protect Password:="test", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlNoSelection
Case Else
'do nothing
End Select
End With
Next i
Sheets("Rechnungen").Select
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Tabellenblätter mit anderen Schreibschutzoptionen
11.11.2013 13:03:56
mikey20
hallo
danke für die erklärung und das makro.
Es funktioniert wirklich gut. Nur leider habe ich ein problem.
ich habe in einer tabelle viele grafiken und diagramme die ich gerne geschützt haben möchte.
ich habe mit dem makro recorder das ganze aufgezeichnet und dann in die case option eingefügt.
nur leider ist es egal ob ich drawingobjects=false oder drawing objects=true auswähle.
ich kann die grafiken immer auswählen und editieren.
vielleicht kann mir jemand dabei helfen.
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
habe dazu extra ein tabellenblatt mit
Case "BildBlatt"
.Protect Password:="test", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlNoSelection

Anzeige
AW: Tabellenblätter mit anderen Schreibschutzoptionen
11.11.2013 15:28:07
fcs
Hallo Mickey,
der Schutz funktioniert schon mit diesen Einstellungen.
Es muss aber für alle Objekte (Grafiken, Formen, Diagramme, etc.) unter "xxx Formatieren ..." oder "Zeichentool--Format--Größe" im Eigenschaften-Dialog die Option "Gesperrt" und ggf. auch "Text sperren" aktiviert werden.
Die Shape-Objekte kannst du mit folgendem Makro sperren.
Für Texte in Formen hab ich leider keine Lösung gefunden.
Gruß
Franz

Sub ShapeObjekteSpeeren()
Dim objShape As Shape
For Each objShape In ActiveSheet.Shapes
If objShape.Locked = msoFalse Then
objShape.Locked = msoTrue
End If
Next
End Sub

Anzeige
AW: Tabellenblätter mit anderen Schreibschutzoptionen
11.11.2013 21:36:58
mikey20
hi
danke für die hilfe, habe das makro in ein modul kopiert und ausgefürt.
Es hat sich nichts verändert. Ich kann sie immer noch verschieben und auswählen usw.
Ich habe einfach mal die Eigenschaften von diesem objekt angesehen dort sind
die gesperrt optionen drinnen.
Kann man das makro auf bestimmte registerkarten beim starten von der Excel Datei beschränken.
beispielsweise mit case.
anbei habe ich mal ein beispiel gepostet, und sicherzustellen das wir uns nicht missverstehen.
vielleicht kann mir jemand sagen warum der Schreibschutz nicht funktioniert.
https://www.herber.de/bbs/user/88043.xlsm

Anzeige
AW: Tabellenblätter mit anderen Schreibschutzoptionen
12.11.2013 10:18:21
fcs
Hallo Mickey,
in deiner Testdatei funktioniert der Blattschutz mit dem Makro, das du eingefügt hast.
zumindest bei mir mit Excel 2010 und Windows XP.
Wenn du den Blattschutz von Tabelle1 aufhebst und anschliessend das Makro startet sind die Objekte im Blatt nicht mehr selektierbar.
Wenn du das in einer vorherigen Antwort gepostete Workbok_Open-Makro für "DieseArmeitsma" anschaust, dann findest du ein Beispiel, wie man mit einer Select-Case-Anweisung arbeiten kann. Dabei musst du darauf achten, dass im Array alle Blattnamen enthalten sind, die das Makro abarbeiten soll. In den Case-Anweisungen muss du darauf achten, dass im Array und in der Case-Zeile die Schreibweis (Groß/Klein) der Blattnamen genau übereinstimmt.
Gruß
Franz

Anzeige
AW: Tabellenblätter mit anderen Schreibschutzoptionen
12.11.2013 11:29:29
mikey20
hi
danke für die rasche antwort und die erklärung nach ein wenig herumtesten, habe ich es glaub
ich verstanden.
wusste nicht das man es oben und unten eintragen kann soll
danke vielmals bin jetzt wieder einen schritt näher zum fertigstellen meiner liste gekommen und
habe dazu noch was gelernt.
lg

AW: Frage ist beantwortet
14.11.2013 07:19:12
fcs
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige