Die Diagrammtools von Excel sind ziemlich ausgefeilt, aber ein Bereich, in dem einige Fachkenntnisse hilfreich sein können, ist die korrekte Positionierung des Diagramms auf Ihrem Arbeitsblatt. Beispielsweise möchten Sie nicht, dass ein Diagramm Ihre Datentabelle überlappt oder beim Drucken verschiedene Seiten abdeckt.

Das Problem ist, dass ein Diagramm ein Objekt in Excel ist und keine direkte Beziehung in Bezug auf die Position zu Zeilen oder Spalten hat.

Positionseigenschaften eines Excel-Diagramms

Das Diagrammobjekt in Excel verfügt eher über Maßeinheiten als über direkte Zellreferenzen. Hier ist das Verschieben des Diagramms an die richtige Position eine Herausforderung.

Sie können einige der Positionseigenschaften eines Diagramms über VBA-Code zurückgeben:

ActiveSheet.ChartObjects (1) .Activate

Setzen Sie c = ActiveChart.Parent

& # 39; Geben Sie die Diagrammhöhe, -breite und den Abstand vom oberen und linken Rand des Blattes zurück
chartHeight = c.height
chartTop = c.top
Diagramm übrig = c.left
Diagrammbreite = C.WIDTH

Okay, aber wie hilft uns das, das Diagramm zu positionieren? Nun, es hängt davon ab, was Sie tun sollen. Glücklicherweise kann eine Zellreferenz auch Positionseigenschaften zurückgeben:

setze r = Bereich ("a1"). currentRegion

rangeHeight = r.height
Rangetop = r.top
Rang übrig = r.left
Rangbreite = r.Breite

Positionieren des Diagramms in Beziehung zum Datensatz

Nehmen wir das Szenario, in dem Sie das Diagramm zwei Zeilen unter dem Datensatz und eine Spalte positionieren möchten. Am einfachsten ist es, die Größe der Objekte mithilfe einer einfachen Mathematik zu bestimmen und das Diagramm entsprechend zu positionieren.

Zuerst wählen wir den Datenbereich aus und bestimmen die Höhe und Breite der ersten Zelle in der letzten Zeile.

    Setze r = Bereich ("a1"). CurrentRegion

Wählen Sie

cellWidth = Selection.Columns (1) .Width

cellHeight = Selection.Rows (Selection.Count) .Height

Jetzt berechnen wir, wo das Diagramm positioniert werden soll – 2 Zellen unter dem Datensatz und 1 Zeile in.

    fromTop = r.Height + 2 * cellHeight

fromLeft = cellWidth

Und schließlich werden wir das Diagramm auswählen und die Positionsänderungen anwenden.

    ActiveSheet.ChartObjects (1) .Activate

Setzen Sie c = ActiveChart.Parent

c.Left = fromLeft

c.Top = fromTop

Es gibt viele andere Möglichkeiten, wie Sie Ihr Diagramm positionieren möchten. Zum Beispiel zum Ausrichten an einem Seitenumbruch oder unter einem zusammenfassenden Kommentar. Das Konzept ist ähnlich; Bestimmen Sie die Positionseigenschaften für jedes Objekt und übernehmen Sie die entsprechenden Änderungen.

Zusammenfassung

In diesem Artikel wurde gezeigt, wie Sie die Position eines Diagramms ändern können, das entweder mit den Diagrammtools von Excel oder über VBA erstellt wurde. Dies ist ein gutes Beispiel für die Feinabstimmung der Funktionalität von Excel mit ein wenig VBA-Kenntnissen.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein