Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Führungslinien im Diagramm - wie?

Forumthread: Führungslinien im Diagramm - wie?

Führungslinien im Diagramm - wie?
05.10.2005 16:46:16
Galenzo
Hallo,
beim Kreisdiagramm gibt es ja die Führungslinien, welche die Beschriftung eines Datenpunktes mit dem Punkt selber verbindet.
Meine Frage: Gibt es sowas auch für ein Liniendiagramm? OK - standardmäßig natürlich nicht.. Daher suche ich einen anderen Weg. Gibt es Addins oder hat jemand dafür schon eine fertige Routine? Würde mit 'ne Menge Zeit und Arbeit sparen.
Hintergrund: die Beschriftungen der einzelnen Punkte sind derart umfangreich, daß ich diese einzeln manuell verschieben muß. Zur Übersicht brauche ich dann aber die Linien - sonst findet sich keiner mehr durch...
Schonmal Dank vorweg...
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Führungslinien im Diagramm - wie?
05.10.2005 18:31:58
K.Rola
Hallo,
geht um Diagramme im Chartsheets oder eingebettete?
Gruß K.Rola
AW: Führungslinien im Diagramm - wie?
06.10.2005 09:55:49
Galenzo
mir ist jede Variante recht..
hast du da einen Lösungsansatz?
(ich habe mir auch schon Gedanken gemacht, und wenn ich etwas mehr Zeit hätte, würde ich evtl. sowas machen: alle Punkte der Linie durchlaufen und die Koordinaten des Punktes und der zugehörigen Beschriftung ermitteln (..geht das?..) und dann 'ne Linie erstellen)
Freue mich über Unterstützung.
Anzeige
AW: Führungslinien im Diagramm - wie?
06.10.2005 11:43:21
K.Rola
Hallo,
hab mal etwas ähnliches programmiert, aber doch etwas anders.
Die Schwierigkeit besteht darin, dass die Points keine Left/Top Eigenschaft haben
die Datalabel dagegen schon. Mir fehlt die zündende Idee, die Pointkoordinaten zu ermitteln. Bei einer "Halbautomatik" ginge es, indem man jeden Punkt anklickt und
somit die X/Y-Positionen der Maus verwenden könnte.
Vielleicht hast du in der Richtung einen Idee.
Gruß K.Rola
Anzeige
AW: Führungslinien im Diagramm - wie?
06.10.2005 22:29:44
K.Rola
Hallo,
hab mir das gerade mal angesehen. Leider ist die Lösung nur für gerade Linien geeignet,
bei weichen Linien stimmen die des Diagramms nicht mit denen der Freeform überein.
Die Anwebdung, die ich mal für ein Straßenbauunternehmen programmiert habe, war genau
umgekehrt, aus den Punkten von Freeforms Diagramme zu "füttern".
Wenn du "fertiggestrickt" hast, kannst du deine Lösung ja mal vorstellen, wenn du willst.
Gruß K.Rola
Anzeige
AW: Führungslinien im Diagramm - bin dran..
07.10.2005 10:04:42
Galenzo
irgendwie geht das dann wohl doch nicht. Ich bekomme zwar Linien an jeden Punkt gelegt, aber gibt es da mehrere Probleme:
- geht erstmal nur bei X-Y-Diagramm, und da kann ich leider keine "Text"-Datenbeschriftung an die Punkte legen
- geht auch für ein Liniendiagramm, aber nur mit Zeitachse. Sobald ich aber eine Datenbeschriftung hinzufüge, geht es nicht mehr
Hier mal mein Ansatz:

Sub LinesXY()
Dim myCht As Chart
Dim mySrs As Series
Dim Npts As Integer, Ipts As Integer
Dim myBuilder As FreeformBuilder
Dim myShape As Shape
Dim Xnode As Double, Ynode As Double
Dim Xmin As Double, Xmax As Double
Dim Ymin As Double, Ymax As Double
Dim Xleft As Double, Ytop As Double
Dim Xwidth As Double, Yheight As Double
Set myCht = ActiveChart
Xleft = myCht.PlotArea.InsideLeft
Xwidth = myCht.PlotArea.InsideWidth
Ytop = myCht.PlotArea.InsideTop
Yheight = myCht.PlotArea.InsideHeight
Xmin = myCht.Axes(1).MinimumScale
Xmax = myCht.Axes(1).MaximumScale
Ymin = myCht.Axes(2).MinimumScale
Ymax = myCht.Axes(2).MaximumScale
Set mySrs = myCht.SeriesCollection(1)
Npts = mySrs.Points.Count
For Ipts = 1 To Npts
' Anfangspunkt der Linie
Xnode = Xleft + (mySrs.XValues(Ipts) - Xmin) * Xwidth / (Xmax - Xmin)
Ynode = Ytop + (Ymax - mySrs.Values(Ipts)) * Yheight / (Ymax - Ymin)
Set myBuilder = myCht.Shapes.BuildFreeform(msoEditingAuto, Xnode, Ynode)
' Endpunkt der Linie (zum testen erstmal einfach X&Y +10)
myBuilder.AddNodes msoSegmentLine, msoEditingAuto, Xnode + 10, Ynode + 10
' Linie zeichnen
Set myShape = myBuilder.ConvertToShape
myShape.Line.ForeColor.SchemeColor = 10
Set myBuilder = Nothing
Next
End Sub

Anzeige
AW: Führungslinien im Diagramm - wie?
06.10.2005 11:47:49
gordon
Hallo zusammen,
vielleicht etwas umständlich, habe aber mal als Workarround beim Diagrammaufbau jeden zweiten Wert ausgeblendet und dann über toogle-Button jeweils die ausgeblendeten eingeblendet und umgekehrt.
hth
Gruß
gordon
AW: Führungslinien im Diagramm - wie?
06.10.2005 12:48:52
Galenzo
gute Idee - läßt sich aber leider nicht machen - das ganze soll ausgedruckt/präsentiert werden. Danke für deine Antwort.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Führungslinien in Excel-Diagrammen einfügen


Schritt-für-Schritt-Anleitung

Um Führungslinien in einem Excel-Diagramm einzufügen, kannst du den folgenden VBA-Code verwenden. Dieser Code erstellt Linien, die die Datenpunkte mit ihren Beschriftungen verbinden. Befolge die Schritte:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub LinesXY()
        Dim myCht As Chart
        Dim mySrs As Series
        Dim Npts As Integer, Ipts As Integer
        Dim myBuilder As FreeformBuilder
        Dim myShape As Shape
        Dim Xnode As Double, Ynode As Double
        Dim Xmin As Double, Xmax As Double
        Dim Ymin As Double, Ymax As Double
        Dim Xleft As Double, Ytop As Double
        Dim Xwidth As Double, Yheight As Double
    
        Set myCht = ActiveChart
        Xleft = myCht.PlotArea.InsideLeft
        Xwidth = myCht.PlotArea.InsideWidth
        Ytop = myCht.PlotArea.InsideTop
        Yheight = myCht.PlotArea.InsideHeight
        Xmin = myCht.Axes(1).MinimumScale
        Xmax = myCht.Axes(1).MaximumScale
        Ymin = myCht.Axes(2).MinimumScale
        Ymax = myCht.Axes(2).MaximumScale
        Set mySrs = myCht.SeriesCollection(1)
        Npts = mySrs.Points.Count
    
        For Ipts = 1 To Npts
            ' Anfangspunkt der Linie
            Xnode = Xleft + (mySrs.XValues(Ipts) - Xmin) * Xwidth / (Xmax - Xmin)
            Ynode = Ytop + (Ymax - mySrs.Values(Ipts)) * Yheight / (Ymax - Ymin)
            Set myBuilder = myCht.Shapes.BuildFreeform(msoEditingAuto, Xnode, Ynode)
            ' Endpunkt der Linie
            myBuilder.AddNodes msoSegmentLine, msoEditingAuto, Xnode + 10, Ynode + 10
            ' Linie zeichnen
            Set myShape = myBuilder.ConvertToShape
            myShape.Line.ForeColor.SchemeColor = 10
            Set myBuilder = Nothing
        Next
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Wähle dein Diagramm aus und führe den Makro aus, um die Führungslinien zu erstellen.


Häufige Fehler und Lösungen

  • Problem: Linien erscheinen nicht im Diagramm.

    • Lösung: Stelle sicher, dass das Diagramm aktiv ist, wenn du den Makro ausführst. Überprüfe auch, ob die Grafik und die Daten korrekt formatiert sind.
  • Problem: Linien sind nicht verbunden mit den Datenbeschriftungen.

    • Lösung: Vergewissere dich, dass du die richtigen Datenpunkte im Diagramm ausgewählt hast. Möglicherweise musst du die X- und Y-Achsen anpassen.

Alternative Methoden

Falls du keine VBA-Programmierung nutzen möchtest, kannst du auch manuell Linien in dein Diagramm einfügen:

  1. Klicke auf das Diagramm und wähle im Menü Einfügen die Formen.
  2. Wähle die Linie aus und zeichne sie von den Datenpunkten zu den Beschriftungen.
  3. Anpassungen der Linien kannst du durch Rechtsklick auf die Linie und Auswahl von Form formatieren vornehmen.

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung von Führungslinien in einem Liniendiagramm könnte die Darstellung von Verkaufszahlen über mehrere Monate sein. Wenn die Beschriftungen der Datenpunkte sehr lang sind, helfen die Führungslinien, die Übersichtlichkeit zu verbessern.


Tipps für Profis

  • Nutze die Funktion PowerPoint Führungslinien verschieben, um sicherzustellen, dass die Linien gut sichtbar sind, wenn du deine Diagramme in Präsentationen verwendest.
  • Experimentiere mit den Farben der Linien, um sie den Datenpunkten zuzuordnen.

FAQ: Häufige Fragen

1. Kann ich Führungslinien in allen Diagrammtypen verwenden?
Nein, die Methode funktioniert am besten mit X-Y-Diagrammen und Liniendiagrammen.

2. Wie kann ich die Linien nachträglich bearbeiten?
Du kannst die Linien auswählen und mit einem Rechtsklick das Kontextmenü nutzen, um Größe oder Farbe zu ändern.

3. Gibt es eine Möglichkeit, die Führungslinien automatisch zu aktualisieren?
Das VBA-Skript kann leicht angepasst werden, um bei jeder Datenänderung die Linien neu zu zeichnen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige