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

identische Zeichnungsfläche 2er Diagramm

identische Zeichnungsfläche 2er Diagramm
28.10.2022 12:48:50
Andreas
Hallo Zusammen,
ich habe zwei übereinanderliegende Diagramme (jeweils gestapelte Balken).
Nun möchte ich, dass die Zeichnungsflächen beider Diagramme exakt übereinander liegen. Hierzu habe ich nachfolgendes Makro erstellt.
Obwohl die über Debug.Print ausgegebenen Attribute beider Diagramme die gleichen Werte aufweisen. Sind die Zeichnungsflächen nicht exakt übereinander und in der Breite leicht unterschiedlich. Hier scheint es irgendeinen Automatismus noch bei Excel zu geben, der eine exakte VBA-basierte Platzierung der Zeichnungsflächen in einem Diagramm verhindert.
Habt ihr gleiche Erfahrungen gemacht? Habt ihr ggf. eine Lösung?
Vielen lieben Dank.
Code:

Sub Dia_Test()
Dim objChart1 As Chart
Dim objChart2 As Chart
Dim Minor As Integer
Dim Left As Double
Dim Top As Double
Dim Height As Double
Dim Width As Double
Dim IncrementLeft As Double
Dim PlotAreaWidth As Double
Dim PlotAreaLeft As Double
Dim PlotAreaHeight As Double
Dim PlotAreaTop As Double
Dim ChartAreaWidth As Double
Dim ChartAreaLeft As Double
Dim ChartAreaHeight As Double
Dim ChartAreaTop As Double
Dim FontSize_X As Double
Dim FontSize_Y As Double
Dim AxesWidth As Double
Dim i As Integer
Do Until i = 2
Set objChart1 = Tabelle1.ChartObjects("DIA_1").Chart
Set objChart2 = Tabelle1.ChartObjects("DIA_2").Chart
With objChart1
.Axes(xlValue).MinimumScale = Range("Dia_Min")
.Axes(xlValue).MaximumScale = Range("Dia_Max")
.Axes(xlValue).MinorUnit = Range("Dia_Hilfslinien")
.Axes(xlValue).MajorUnit = Range("Dia_Hauptlinien")
Left = .Parent.Left
Top = .Parent.Top
FontSize_Y = .Axes(xlCategory).TickLabels.Font.Size
FontSize_X = .Axes(xlValue).TickLabels.Font.Size
If .Parent.Height 

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: identische Zeichnungsfläche 2er Diagramm
28.10.2022 13:52:54
Beverly
Hi Andreas,
das kann verschiedene Ursachen haben - so kann z.B. die Breite der Beschriftung der Vertikalachse unterschiedlich sein.
Weshalb müssen es denn überhaupt 2 Diagramme sein - kannst du nicht beide Aussagen in einem gemeinsamen Diagramm darstellen?
Bis später
Karin

AW: identische Zeichnungsfläche 2er Diagramm
28.10.2022 14:03:12
Andreas
Hallo Katrin,
nein in ein Diagramm geht m.E. nicht. Es ist ein Terminplan. In den einem Diagramm sind die einzelnen Projektphasen und Tasks, Meilensteine,... abgebildet (mehrer gestapelte Balken) und das dahinterliegende Diagramm soll die Ferien darstellen (ein gestapelter Balken).
Ich habe leider in VBA bisher keine Möglichkeit gefunden die Breite der Beschriftung anzusprechen. Ist dies möglich?
LG
Anzeige
AW: identische Zeichnungsfläche 2er Diagramm
28.10.2022 14:14:18
Beverly
Hi Andreas,
die Breite lässt sich nicht ändern - sie hängt von der Anzahl an Zeichen in der Beschriftung ab.
Du kannst aber beide Darstellungen in einem gemeinsamen Diagramm unterbringen, indem du die Sekundärachse benutzt. Du müsstest dabei aber den Balken mit den Ferien auf die Primärachse zeichnen und die eigentlichen Termin-Balken auf die Sekundärarchse, denn die Datenreihen der Sekundärachse überdecken stets die Datenreihen der Primärachse.
Bis später
Karin

AW: identische Zeichnungsfläche 2er Diagramm
28.10.2022 15:02:28
Andreas
Hallo Katrin,
Danke für den Hinweis. Habe dies mal probiert. Kann ich aber leider nicht so umsetzen.
a) da dann die Beschriftung (Y-Achse) zu meinen Vorgängen ebenfalls auf die sekundäre Y-Achse und somit rechts vom Diagramm, was ich für einen Zeit-/Terminplan nicht so schön finde.
b) Ich nutze bereits in einem der Diagramme (mit den ganzen Vorgängen) eine Sekundär-Achse um weitere Elemente, wie eine Linie für das heutige Datum einbinden zu können.
mir ist aufgefallen, dass die beiden Diagramme besser übereinander liegen, wenn die Namen der Tasks/Vorgänge kurz sind - lässt sich meist nur nicht so umsetzen.
Anbei mal ein Beispiel Userbild
Die Verschiebung ist zwar nur minimal - stört aber dennoch und kann je nach Beschriftung auch größer ausfallen.
Anzeige
AW: identische Zeichnungsfläche 2er Diagramm
28.10.2022 15:38:03
Beverly
Hi Andreas,
die Beschriftung kann man tauschen - das wäre nicht das Problem gewesen. Aber wenn du die Sekundärachse bereits belegt hast, geht das natürlich nicht - konnte ich aber nicht wissen.
Dass die Übreinstimmung der Position der Zeichenflächen genauer ist je geringer die Zeichenanzahl ist nichts neues - ich hatte bereits geschrieben, dass die Breite der Beschriftung von der Zeichenanzahl abhängt.
Wenn du nicht mit dem Versatz leben willst kann ich dir nur noch empfehlen, einen Spaltenbereich im Tabellenblatt entsprechend mittels bedingter Formatierung in eine Art Gantt-Diagramm umzugestalten.
Übrigens: ich heiße nicht Katrin sondern Karin. ;-)
Bis später
Karin

Anzeige
AW: identische Zeichnungsfläche 2er Diagramm
01.11.2022 10:10:53
Andreas
Hallo Karin, (entschuldige bitte),
die Umsetzung als Gant mit berechneten Zellen war mein erster Versuch. Leider war dies nicht so parkatikabel, wenn neue Vorgänge eingefügt werden mussten. Daher hatte ich es nun als "intelligente" Tabelle und zwei übereinanderliegenden Diagrammen versucht.
Es ist halt schade, dass man die Breite der Achsbeschriftung nicht über VBA anpassen kann. Dann bleibt mir wohl nichts anderes übrig, als mit dem leichten Versatz zu leben.
Danke Dir

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige