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

Ä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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige