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

Position und Größe eines Diagramms

Position und Größe eines Diagramms
25.08.2022 15:18:45
Martin
Hallo zusammen,
ich versuche den äußeren Rahmen (ChartArea) und den inneren Rahmen (PlotArea) eines Diagramms mit den Grenzen verschiedener Zellen (bzw. Zeilen und Spalten) in Deckung zu bringen.

Sub DiagramSize()
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
'Position des äußeren Rahmens (ChartArea)
ActiveChart.ChartArea.Top = Rows(5).Top
ActiveChart.ChartArea.Left = Columns(7).Left
ActiveChart.ChartArea.Height = Rows(25).Top - Rows(5).Top
ActiveChart.ChartArea.Width = Columns(20).Left - Columns(7).Left
'Position des inneren Rahmens (PlotArea)
ActiveChart.PlotArea.InsideTop = Rows(7).Top - Rows(5).Top
ActiveChart.PlotArea.InsideLeft = Columns(8).Left - Columns(7).Left
ActiveChart.PlotArea.InsideHeight = Rows(23).Top - Rows(7).Top
ActiveChart.PlotArea.InsideWidth = Columns(19).Left - Columns(8).Left
End Sub
Die Spaltenbreite bzw. Zeilenhöhe lesen ich mit ".Left" und ".Top" aus.
Für die PlotArea verwende ich z.B. InsideTop anstatt .Top .
Leider bekomme ich die Linien nicht in Deckung -> siehe angehängte Datei
https://www.herber.de/bbs/user/154803.xlsm
Habt Ihr eine Idee was ich falsch mache? Muss ich ggfs. noch die Einheiten umrechnen?
Viele Grüße
Martin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Position und Größe eines Diagramms
27.08.2022 10:09:48
Beverly
Hi Martin,
die Gesamtgröße anpassen ist nicht das Problem. Bei der Zeichenfläche jedoch müsstest du die Höhe der Zeilen/Breite der Spalten m.E. in Pixel umrechnen - nach diesem Prinzip:

Sub DiagramSize()
With ActiveSheet.ChartObjects("Chart 1")
'Position/Größe der Diagrammfläche (ChartArea)
.Top = Rows(5).Top
.Left = Columns(7).Left
.Height = Rows("5:24").Height
.Width = Columns("G:S").Width
' Position/Größe der Zeichenfläche (PlotArea)
With .Chart.PlotArea
.Top = .Parent.Top + Rows("5:6").Height 'in Pixel
.Left = .Parent.Left + Columns("G").ColumnWidth 'in Pixel
.Height = Rows("7:22").Height 'in Pixel
.Width = Columns("H:R").Width 'in Pixel
End With
End With
End Sub
Bei der Umrechnung der Spaltenbreite/Zeilenhöhe in Pixel kann ich dir leider nicht weiterhelfen, aber m.W. musst du dazu zuerst die Bildschirmauflösung ermitteln.
Bis später
Karin

Anzeige
AW: Position und Größe eines Diagramms
29.08.2022 08:08:53
Martin
Hallo Karin,
vielen Dank für Deine Antwort. Ja, sowas habe ich mir schon gedacht...
Kennt sich jemand mit der Umrechnung aus?
Viele Grüße
Martin
AW: Position und Größe eines Diagramms
29.08.2022 10:51:52
Oberschlumpf
Hi,
ich hab in Google.de diesen Text eingegeben:
vba Zeilenhöhe in Pixel
...Ungefähr 1.700 Ergebnisse in nuuur 0,38 Sekunden...
Da ich sowas von sicher bin, dass auch du mit Hilfe von Google suchen kannst, muss ich dir nun nich verraten, in welchem der Treffer deine Antwort steht, oder?
Aber eine weitere Gegenfrage hab ich:
Wieso musst du denn unbedingt denkungsgleich anzeigen?
Wäre die einfachere Lösung nicht, die Linien für Zeilen/Spalten einfach auszublenden?
Und wenn du zusätzlich zu nem Diagramm eine/mehrere Tabellen hast, die ohne Linien nich mehr schön ausehen,...
...nutz entweder nur für die Tabellen die Rahmenformatierung
...oder wandel "normale" Tabellen in "intelligente" Tabellen um - letztere haben mindestens für jede Zeile unterschiedliche Farben, was die Übersichtlichkeit auch wieder steigen lässt
Ciao
Thorsten
Ciao
Thorsten
Anzeige
AW: Position und Größe eines Diagramms
29.08.2022 14:57:03
Martin
Hallo Thorsten,
ich habe mich jetzt (und auch schon vorher) durch mehrere Foren gelesen. Leider scheint das Thema (insbesondere bei verschiedenen Bildschirmauflösungen und Betriebssystemen) nicht trivial zu sein. Daher die Frage.
Zu Deiner Gegenfrage: Die hochgeladene Datei war nur eine Beispieldatei. Ich bauen ein Gantt-Chart, welches aus einer Tabelle mit ToDo-Einträgen sowie Start- und Endwerten und einem vertikalen Balkendiagramm besteht. Wenn die Linien nicht in Deckung sind, wird das Ablesen schwer.
Viele Grüße
Martin
AW: Position und Größe eines Diagramms
29.08.2022 15:43:44
Beverly
Hi Martin,
ein Gantt-Diagramm kann man auch aus Zeilen/Spalten im Tabellenblatt erstellen, ohne dass es sich um ein "richtiges " Diagramm handelt - dazu verwendet man dann die bedingte Formatierung.
Bis später
Karin

Anzeige
AW: Position und Größe eines Diagramms
30.08.2022 08:49:05
Martin
Hallo Karin,
ja, das ist mit klar. Ich würde aber auch gerne eine tagesgenaue Darstellung schaffen, Milestones hinzufügen, die Jahre farblich trennen, Labels zu der Anzahl der Monate hinzufügen usw. - - - da sehe ich nur eine Kombination aus Tabelle und Diagramm.
Viele Grüße
Martin
Stattdessen: Gantt-Dia mit bed. Formatierung
30.08.2022 11:24:45
Beverly
Hi Martin,
gerade durch die Formatierung in der Tabelle selbst erhältst du eine tagesgenaue Darstellung, weil eine genaue Übereinstimmung von Zeichenfläche eines "richtigen" Diagramms mit den betreffenden Spalten eben sehr kompliziert (?wenn überhaupt möglich?) ist. Meilensteine und andersfarbige Darstellung der einzelnen Jahre kannst du ebenso gut mittels bedingter Formatierung erreichen und anstelle von Labels kannst du Kommentare in den betreffenden Zellen verwenden.
Bis später
Karin

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige