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

Forumthread: Diagramm auf geschütztem Blatt

Diagramm auf geschütztem Blatt
Ralf
Hallo ihr alle,
kennt jemand eine Lösung für Problem:
Diagramm mit Excel 2003 auf einem Tabellenblatt erstellt,
unter "Diagrammfläche formatieren" den Haken bei "Gesperrt" entfernt (wo das unter Excel2007
geht, habe ich noch nicht gefunden) und anschliesend mit Blattschutz das Tabellenblatt geschützt.
Mit Excel 2003 können jetzt per VBA die Eigenschaften
wie Tabelle1.ChartObjects("Dia1").Top
und Tabelle1.ChartObjects("Dia1").PlotArea.Top geändert werden.
Mit Excel 2007 und 2010 schlägt der Zugriff auf die PlotArea-Eigenschaft fehl.
Wäre super, wenns da eine Lösung gibt.
Gruß
Ralf
Anzeige
AW: Diagramm auf geschütztem Blatt
25.02.2011 10:30:18
Beverly
Hi Ralf,
hebe den Blattschutz per Code auf und setze ihn anschließend wieder.
Der Zugriff auf die PlotArea erfolgt über die Chart-Eigenschaft des Chart-Objektes:
   With ActiveSheet
.Unprotect
.ChartObjects(1).Top = 25
.ChartObjects(1).Chart.PlotArea.Top = 25
.Protect
End With



Anzeige
AW: Diagramm auf geschütztem Blatt
25.02.2011 10:49:40
Ralf
Hallo Karin,
da hast du natürlich recht.
Ist auch so umgesetzt, nur beim ubertragen hier ins Forum
nicht aufgepasst, Sorry.
Korrekt heist die Zeile so: Tabelle1.ChartObjects("Dia1").chart.PlotArea.Top
Das Problem ist damit aber leider nicht gelöst.
Auf einem 2. Tabellenblatt werden Werte geändert. Dadurch ändern sich die Werte des Diagramms
und je nach größe dieser Werte sollen die Diagrammeigenschaften angepasst werden.
Gerade bei Excel 2007 sieht das Diagramm ohne Anpassung eher bescheiden aus.
Wenn dann mit unprotect bzw. protect der Blattschutz geändert wird, gibt es ein nicht schönes flackern.
Wenn die Diagrammeigenschaften bei SheetActivat gesetzt werden siehts auf dem Bildschirm auch sehr unriuhig aus. Daher wollte ich es wie oben beschrieben ohne unprotect bzw. protect lösen, was ja auch unter Excel 2003 sauber läuft.
Gruß
Ralf
Anzeige
Wie wär's dann mit dem Protect-Parameter...
25.02.2011 10:55:27
Luc:-?
UserInterfaceOnly:=True, Ralf?
Dann müssten Makros ändern können ohne dass der Blattschutz aufgehoben wdn muss.
Gruß Luc :-?
AW: Wie wär's dann mit dem Protect-Parameter...
25.02.2011 11:22:42
Ralf
Danke Luc,
funzt leider auch nicht.
Das komische ist ja, dass auf dem geschützen Blatt die Chartobject-Eigenschaften frei
sind und die darunterliegenden Chart-Eigenschaften wie .Plotarea oder .Axes
nicht geändert werden können (unter Excel2007 und 2010).
Wo kann bei Excel2007 der Schutz für ein Diagramm eingestellt werden? Vielleicht
gibt es ja da weiter Einstellmöglichkeiten.
Gruß
Ralf
Anzeige
AW: Diagramm auf geschütztem Blatt
25.02.2011 11:28:53
Beverly
Hi Ralf,
hast du schon mal den Blattschutz so gesetzt, dass Objekte bearbeitet werden dürfen?


AW: Diagramm auf geschütztem Blatt - Ergänzung
25.02.2011 11:34:32
Beverly
Hi Ralf,
die gesuchte Eigenschaft findest du bei markiertem Diagramm im Register: Format -&gt Befehlsgruppe: Größe -&gt Größe und Eigenschaften (kleiner Pfeil unten rechts) -&gt Eigenschaften.


Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
25.02.2011 11:47:44
Ralf
Hallo Karin,
danke für den Tipp für die Eigenschaften. Das hatte ich noch nicht gefunden.
Aber mit dem Objekte Bearbeiten werde ich nicht Glücklich, denn zum einen gibt es auf diesem
Tabellenblatt noch andere Objekte, die geschützt sein sollten.
Und zum zweiten: die PloteArea-Eigenschaft ist dann trotzdem noch blockiert.
Gruß
Ralf
Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
25.02.2011 16:40:57
Beverly
Hi Ralf,
schalte mit Application.ScreenUpdating = False zu Beginn die Bildschirmaktualisierung aus und anschließend mit True wieder ein - dann ist kein Flackern zu sehen.


Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
25.02.2011 17:55:15
Ralf
Hallo Karin,
danke, aber auch das sagt mir nicht zu, da beim Aus- bzw. Einschalten von Screenupdating der Bildschirm
einmal aufflackert, und da gibts Leute, die mögen das nicht.
Was ist an Excel2007 anders oder wo kann diese Eigenschaft analog der Excel 2003
eingestellt werden?
Aber jetzt gehts erstmal ins Wochenende. Am Mo. sehen wir mal weiter.
Gruß
Ralf
Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
27.02.2011 15:59:34
Beverly
Hi Ralf,
das Aus- und Einschalten der Bildschirmaktualisierung ruft kein Flackern des Bildschirmes hervor - da liegst du falsch, denn es wird alleine dadurch doch keine Aktion im Tabellenblatt ausgeführt, was ein Flackern auslösen könnte. Natürlich ist es logisch, dass man eine Veränderung des Aussehens sieht, denn das Diagramm wird ja an eine andere Stelle positioniert und auch die Zeichnungsfläche, aber das ist in Excel2003 auch nicht anders.


Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
28.02.2011 10:32:48
Ralf
Hallo Karin,
Flackern war vielleicht nicht der richtige Ausdruck, es ist eher ein einmaliges Aufblinken des Bildschirmes sowohl beim Aus- als auch beim Einschalten.
Aber das Problem, wieso das Ändern der Plotarea- bzw. Axes - Eigenschaften mit Excel2003 funktioniert und mit Excel 2007 / 2010 auf einen Laufzeitfehler läuft, ist immer noch offen.
Auf Deiner Homepage ist mir eben das Beispiel "diagramm_achsenskalierung.xls" über den Weg gelaufen.
Ganz ähnliches mache ich auch mit meinem Makro. Wenn das Diagramm, der Schalter und auch eine der Gelben Zellen nicht gesperrt sind und der Blattschutz aktiviert wird, funktioniert das ganze unter Excel2003 und unter Excel 2007 wird es nicht gehen (kanns heute und am Di. nicht testen, da ich keinen Zugriff auf Excel2007/2010 habe).
Gruß
Ralf
Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
28.02.2011 12:49:43
Beverly
Hi Ralf,
Zitat
Aber das Problem, wieso das Ändern der Plotarea- bzw. Axes - Eigenschaften mit Excel2003 funktioniert
und mit Excel 2007 / 2010 auf einen Laufzeitfehler läuft, ist immer noch offen.

Der Code läuft nicht auf einen Laufzeitfehler sondenr wird ab Excel2007 nicht ausgeführt - nach dem "Warum" musst du dich bei MS erkundigen. Eine andere Lösung für dein Problen als das bereits vorgeschlagen Aufheben des Blattschutzes wirst du nicht finden.
Das Beispiel von meiner HP ist nicht darauf ausgelegt, dass ein Blattschutz vorhanden ist. Wenn ein Blattschutz vorhanden wäre, hätte ich ihn vorher aufgehoben und dann wieder setzen - ein Aufblinken des Bildschirms gibt es dabei nicht, da dies durch die optische Veränderung im Diagramm überdeckt wird.


Anzeige
AW: Diagramm auf geschütztem Blatt - Ergänzung
28.02.2011 14:26:53
Ralf
Hallo,
in dem Beispiel wird der Laufzeitfehler wird mit dem "On Error Goto Ende" umgangen.
Das Problem mit den unterschiedlichen Rechten zwischen Excel2003 und 2007 werde
ich mal auf den Seiten von MS andiskutieren, mal schauen, was die so sagen.
Auch wenn mein Problem hier nicht gelöst werden konnte, finde ich dieses Forum und
damit auch die "Aktivisten" ;) hier echt super.
Vielen Dank für all die guten Tipps, die ich hier schon gefunden habe.
Gruß
Ralf
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Diagramm auf geschütztem Blatt anpassen


Schritt-für-Schritt-Anleitung

  1. Diagramm erstellen: Öffne Excel 2007 und erstelle dein Diagramm wie gewohnt. Dies kannst du über das Menü "Einfügen" und dann "Diagramm" tun.

  2. Diagrammfläche formatieren: Klicke mit der rechten Maustaste auf das Diagramm und wähle "Diagrammfläche formatieren". Hier kannst du die Eigenschaften des Diagramms anpassen.

  3. Blattschutz aktivieren: Gehe zu "Überprüfen" und aktiviere den Blattschutz. Achte darauf, dass du die Option "Objekte bearbeiten" auswählst, wenn du möchtest, dass das Diagramm bearbeitet werden kann.

  4. VBA-Code verwenden: Um die Diagrammeigenschaften zu ändern, ohne den Blattschutz aufzuheben, kannst du folgenden VBA-Code verwenden:

    With ActiveSheet
       .Unprotect
       .ChartObjects(1).Top = 25
       .ChartObjects(1).Chart.PlotArea.Top = 25
       .Protect
    End With

    Dieser Code hebt den Blattschutz temporär auf, ändert die Position des Diagramms und setzt den Blattschutz danach wieder.


Häufige Fehler und Lösungen

  • Fehler: Diagramm nicht auswählbar
    Wenn du die Diagrammgröße ändern möchtest, aber die Option gesperrt ist, überprüfe die Blattschutz-Einstellungen. Stelle sicher, dass "Objekte bearbeiten" aktiviert ist.

  • Fehler: Laufzeitfehler bei VBA
    Wenn du einen Laufzeitfehler erhältst, könnte dies an den unterschiedlichen Sicherheitseinstellungen zwischen Excel-Versionen liegen. Stelle sicher, dass dein VBA-Code korrekt ist und dass du die richtigen Objekte ansprichst.


Alternative Methoden

  • Verwendung von UserInterfaceOnly: Du kannst beim Aktivieren des Blattschutzes die Option UserInterfaceOnly:=True verwenden. So bleibt der Blattschutz aktiv, aber deine Makros können weiterhin auf das Diagramm zugreifen.

  • Diagramm in ein anderes Blatt verschieben: Erstelle das Diagramm auf einem neuen, ungeschützten Blatt und verlinke die Daten von deinem geschützten Blatt. So kannst du das Diagramm unabhängig vom Blattschutz bearbeiten.


Praktische Beispiele

  • Diagrammgröße anpassen: Wenn du die Größe deines Diagramms ändern möchtest, während der Blattschutz aktiv ist, kannst du den VBA-Code anpassen, um nur die Dimensionen zu ändern, ohne den Blattschutz zu entfernen.

  • Trendlinie hinzufügen: Wenn die Trendlinie im Diagramm nicht auswählbar ist, überprüfe die Diagrammeinstellungen. Manchmal kann es helfen, den Blattschutz vorübergehend aufzuheben, um die Trendlinie hinzuzufügen, bevor du den Schutz wieder aktivierst.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False: Diese Einstellung hilft, Bildschirmflackern zu vermeiden, wenn Änderungen am Diagramm vorgenommen werden. Aktiviere die Bildschirmaktualisierung wieder mit Application.ScreenUpdating = True.

  • Makros optimieren: Stelle sicher, dass deine Makros so optimiert sind, dass sie auch bei aktivem Blattschutz reibungslos laufen. Dies kann häufig Probleme mit der Diagrammanpassung lösen.


FAQ: Häufige Fragen

1. Wie kann ich ein Diagramm in Excel 2007 schützen?
Um ein Diagramm zu schützen, gehe zu "Überprüfen" und aktiviere den Blattschutz. Achte darauf, die Option zu wählen, die das Bearbeiten von Objekten erlaubt.

2. Warum kann ich die PlotArea-Eigenschaften nicht ändern?
In Excel 2007 und 2010 sind einige Eigenschaften unter Blattschutz nicht verfügbar. Du musst den Blattschutz aufheben, um diese Eigenschaften zu ändern. Alternativ kannst du den UserInterfaceOnly-Parameter verwenden, um den Schutz aufrechtzuerhalten, während du auf das Diagramm zugreifst.

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