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

DrawingObjects:=False

Forumthread: DrawingObjects:=False

DrawingObjects:=False
Malte
Guten Morgen Experten!
Ich benötige eure Hilfe. Ich habe eine große Arbeitsmappe mit rd. 100 Registern. Dort sind Tabellen und Grafiken und alle Seiten sind mit einem Passwort geschützt.
Nun würde ich gerne zentral steuern (z.B. über "DieseArbeitsmappe"), dass man die Grafiken markieren kann und dort z.B. Einstellungen vornehmen oder sie über diesen Weg kopieren kann.
Ich hatte mal eine Sache für ein einzelnes Tabellenblatt (wurde über ein Modul gesteuert):
ActiveSheet.Protect Password:="Passwort", DrawingObjects:=False
Wie kann man das ganz zentral steuern?
Ich habe dort ("DieseArbeitsmappe") bereits folgendes stehen:
Private Sub Workbook_Open()
For I = Worksheets(1).Index To Worksheets.Count
With Worksheets(I)
.Protect UserInterfaceOnly:=True, Password:="Passwort"
.EnableOutlining = True
End With
Next
Sheets("Tabelle1").Select
Range("K25").Select
End Sub
Danke für eure Hilfe. Malte
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: DrawingObjects:=False
03.09.2009 11:35:43
fcs
Hallo Malte,
und was hindert dich "DrawingObjects:=False" da mit einzubauen?
Private Sub Workbook_Open()
Dim I
For I = Worksheets(1).Index To Worksheets.Count
With Worksheets(I)
.Protect UserInterfaceOnly:=True, DrawingObjects:=False, Password:="Passwort"
.EnableOutlining = True
End With
Next
Sheets("Tabelle1").Select
Range("K25").Select
End Sub
Gruß
Franz
Anzeige
AW: DrawingObjects:=False
03.09.2009 14:07:42
Malte
Hmm, sieht gut aus, aber funzt bei mir nicht.
Es geht einfach pauschal jetzt den Blattschutz überall auf. Der soll aber ja weiterhin bestehen - es soll nur trotz Blattschutz möglich sein, auch die Diagramme anzufassen.
AW: DrawingObjects:=False
03.09.2009 15:02:07
fcs
Hallo Malte,
dann ergänze im Makro auch noch Contents als zu schützen.
Gruß
Franz
Sub BlattSchuetzenEin()
Dim I
For I = Worksheets(1).Index To Worksheets.Count
With Worksheets(I)
.Protect UserInterfaceOnly:=True, Contents:=True, DrawingObjects:=False, _
Password:="Passwort"
.EnableOutlining = True
End With
Next
End Sub
Sub BlattSchuetzenAus()
Dim I
For I = Worksheets(1).Index To Worksheets.Count
With Worksheets(I)
.Unprotect Password:="Passwort"
End With
Next
End Sub

Anzeige
AW: DrawingObjects:=False
03.09.2009 15:10:11
Malte
Super. Nun geht alles. Danke
;
Anzeige

Infobox / Tutorial

Grafiken in Excel VBA schützen und bearbeiten


Schritt-für-Schritt-Anleitung

Um die Grafiken in Excel zu schützen und gleichzeitig zu ermöglichen, dass sie bearbeitet werden können, kannst du das folgende Makro verwenden. Dieses Makro wird in das Modul "DieseArbeitsmappe" eingefügt und sorgt dafür, dass das Zeichnen von Objekten (DrawingObjects) trotz Blattschutz erlaubt ist.

  1. Öffne Excel und gehe zu "Entwicklertools".
  2. Klicke auf "Visual Basic", um den VBA-Editor zu öffnen.
  3. Wähle "DieseArbeitsmappe" im Projekt-Explorer aus.
  4. Füge den folgenden Code ein:
Private Sub Workbook_Open()
    Dim I
    For I = Worksheets(1).Index To Worksheets.Count
        With Worksheets(I)
            .Protect UserInterfaceOnly:=True, DrawingObjects:=False, Password:="Passwort"
            .EnableOutlining = True
        End With
    Next
    Sheets("Tabelle1").Select
    Range("K25").Select
End Sub
  1. Schließe den VBA-Editor und speichere deine Arbeitsmappe.
  2. Öffne die Arbeitsmappe erneut, um das Makro auszuführen.

Häufige Fehler und Lösungen

  • Problem: Der Blattschutz wird überall aufgehoben.
    • Lösung: Stelle sicher, dass du Contents:=True in dein Makro einfügst, um den Inhalt zu schützen, während die Grafiken bearbeitet werden können.
With Worksheets(I)
    .Protect UserInterfaceOnly:=True, Contents:=True, DrawingObjects:=False, Password:="Passwort"
    .EnableOutlining = True
End With
  • Problem: Grafiken lassen sich nicht bearbeiten.
    • Lösung: Überprüfe, ob der Blattschutz korrekt aktiviert ist und dass DrawingObjects:=False gesetzt ist.

Alternative Methoden

Eine alternative Methode, um den Schutz von Grafiken zu steuern, ist die Verwendung von ActiveSheet.Protect. Hierbei kannst du den gleichen Ansatz wie oben verwenden, aber für das aktuelle Arbeitsblatt:

ActiveSheet.Protect DrawingObjects:=False, Password:="Passwort"

Diese Methode kann nützlich sein, wenn du nur für ein spezifisches Blatt den Schutz anpassen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, mit drawingobjects in Excel VBA zu arbeiten:

  1. Schutz für alle Blätter aktivieren:
Sub SchutzAktivieren()
    Dim I
    For I = Worksheets(1).Index To Worksheets.Count
        With Worksheets(I)
            .Protect DrawingObjects:=False, Password:="Passwort"
        End With
    Next
End Sub
  1. Schutz für ein bestimmtes Blatt aufheben:
Sub SchutzAufheben()
    Sheets("Tabelle1").Unprotect Password:="Passwort"
End Sub

Tipps für Profis

  • Verwende UserInterfaceOnly:=True, um sicherzustellen, dass die Benutzeroberfläche weiterhin interaktiv bleibt, auch wenn das Arbeitsblatt geschützt ist.
  • Du kannst die Passwortverwaltung automatisieren, indem du das Passwort in einer geschützten Zelle speicherst, um Sicherheitsrisiken zu minimieren.
  • Teste dein Makro gründlich, um sicherzustellen, dass alle gewünschten Funktionen wie erwartet arbeiten.

FAQ: Häufige Fragen

1. Wie kann ich den Schutz für nur bestimmte Grafiken aufheben? Du kannst dies nicht direkt über VBA steuern. Stattdessen musst du den Blattschutz aufheben und die Grafiken manuell bearbeiten.

2. Was passiert, wenn ich das Passwort vergesse? Wenn du das Passwort vergisst, gibt es keine einfache Möglichkeit, den Blattschutz aufzuheben. Es wird empfohlen, das Passwort sicher zu speichern oder es in einem geschützten Bereich der Datei zu notieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige