Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Änderung der Zeichnungsfläche in Diagrammen

Forumthread: Änderung der Zeichnungsfläche in Diagrammen

Änderung der Zeichnungsfläche in Diagrammen
06.08.2020 14:01:52
Juliane
Hallo zusammen,
ich würde gern die Zeichnungsfläche eines Diagramms per Makro automatisch anpassen lassen, wenn bestimmte Spalten in dem Tabellenblatt mit dem Diagramm gruppiert werden bzw. die Gruppierung rückgängig gemacht werden.
Meine Idee war, es über ein Worksheet Change Ereignis zu lösen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Columns(26).EntireColumn.Hidden = True Then
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.PlotArea.Select
Selection.Width = 244.438
Selection.Left = 136.889
Else
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.PlotArea.Select
Selection.Left = 142.191
Selection.Width = 778.54
End If
End Sub

Leider verändert sich die Zeichnungsfläche nicht wie gewünscht. Kann mir hier jemand weiterhelfen? Kann ich das mit Hilfe von VBA überhaupt machen?
Vielen Dank vorab für eure Untersützung.
Viele Grüße Juliane
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Änderung der Zeichnungsfläche in Diagrammen
06.08.2020 14:32:56
Rudi
Hallo,
das Auf-/ Einklappen der Gruppierung löst das Change-Event nicht aus.
Gruß
Rudi
AW: Änderung der Zeichnungsfläche in Diagrammen
06.08.2020 14:53:07
Juliane
Hallo Rudi,
das hab ich gemerkt ;-) Gibt es eine andere Möglichkeit? Selbst als ich die Spalte Z manuell aus- und eingeblendet habe, hat das Makro nicht funktioniert.
Viele Grüße Juliane
Anzeige
AW: Änderung der Zeichnungsfläche in Diagrammen
07.08.2020 10:31:52
fcs
Hallo Juliane,
baue an einer unauffälligen Position im Tabellenblatt in einer Zelle die folgende Formel ein:
=TEXT(JETZT()*0;"0;-0;""""")

Diese Formel wird bei fast allen Aktionen im Tabellenblatt neu berechnet und löst das Calculate-Ereignis aus. Als Ergebnis wird ein Leerstring angezeigt.
Jetzt funktioniert es auch mit dem Einausblenden via Gruppierung/Gliederung.
Damit das Diagramm nur angepasst wird, wenn der Hidden-Status der Spalte sich ändert, wird der Status zusätzlich in einer Variablen gemerkt.
So wird verhindert, dass das Diagramm bei jeder Neuberechnung angepasst wird, obwohl der Hidden-status unverändert ist.
Man kann die Diagrammfläche auch anpassen, ohne Select-Anweisungen wie sie vom Makro-Rekorder aufgezeichnet werden.
LG
Franz
'Code unter dem Tabellenblatt mit dem eingebetteten Diagramm
Option Explicit
Private bolHidden_Z As Boolean 'Merker für den HiddenStatus von Spalte Z
Private Sub Worksheet_Calculate()
Dim bolHidden As Boolean
bolHidden = Columns(26).EntireColumn.Hidden
Application.EnableEvents = False 'Ereignismakros vorübergehend deaktivieren
If bolHidden = True Then
If bolHidden_Z  bolHidden Then
With ActiveSheet.ChartObjects("Diagramm 1").Chart.PlotArea
.Width = 244.438
.Left = 136.889
End With
bolHidden_Z = bolHidden
End If
Else
If bolHidden_Z  bolHidden Then
With ActiveSheet.ChartObjects("Diagramm 1").Chart.PlotArea
.Left = 142.191
.Width = 778.54
End With
bolHidden_Z = bolHidden
End If
End If
Application.EnableEvents = True 'Ereignismakros wieder aktivieren
End Sub

Anzeige
;

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