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

Forumthread: Beschriftung Liniendiagramm

Beschriftung Liniendiagramm
Suzette
Hallo Ihr Profis!
Ich habe ein Liniendiagramm mit 2 Linien gebaut, welches per Drop-Down-Auswahl unterschiedliche Werte anzeigt. Dazu gibt es eine variable Skalierung, die sich am Minimumwert der Zahlenreihe ausrichtet. Leider überschneiden sich die Werte der beiden Linien bei mancher Auswahl, so dass man dann nichts mehr lesen kann. Gibt es eine Möglichkeit (per VBA) das Diagramm so einzustellen, dass die Position der Werte sich reguliert und nicht mehr übereinander steht?
Lieben Dank im voraus!
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Beschriftung Liniendiagramm
13.07.2010 14:53:24
Beverly
Hi Suzette,
ohne dein Diagramm zu kennen kann man da leider nicht viel dazu sagen. Außerdem ist die Frage, was du unter "Regulieren der Position der Werte" verstehst - sind damit die Beschriftungslabel der Datenreihen gemeint?


Anzeige
AW: Beschriftung Liniendiagramm
13.07.2010 15:15:05
Suzette
Sorry, hab mich wahrscheinlich nicht gut ausgedrückt. Es geht um die Werte, die die Linien im Diagramm beschriften. Sobald sich die beiden Linien kreuzen, kann man die Zahlen nicht mehr gut lesen. Ich habe die Datei hochgeladen.
Danke im voraus für die Hilfe.
https://www.herber.de/bbs/user/70563.xls
Anzeige
AW: Beschriftung Liniendiagramm
13.07.2010 16:20:21
Beverly
Hi Suzette,
du meinst die Position der Beschriftungslabel. Vielleicht wäre das eine Möglichkteit, die Position in Abhängigkeit vom Wert einzustellen:
Sub Beschriftung()
Dim chrDiagramm As Chart
Dim arrWerte1
Dim arrWerte2
Dim intPunkt As Integer
Set chrDiagramm = Worksheets("Kosten").ChartObjects(1).Chart
With chrDiagramm
arrWerte1 = .SeriesCollection("2009").Values
arrWerte2 = .SeriesCollection("2010").Values
For intPunkt = 1 To .SeriesCollection("2009").Points.Count
On Error Resume Next
If arrWerte1(intPunkt) 



Anzeige
AW: Beschriftung Liniendiagramm
14.07.2010 06:18:53
Suzette
Erstmal vielen Dank! Ich habe jetzt dem Diagramm dieses Makro zugeordnet. Leider tut sich da nichts und ich weiß nicht woran es liegt. Als zweites habe ich versucht, das Makro mit in den Auswahlbutton zu integrieren. Aber auch da bleibt die Beschriftung immer so wie es ursprünglich eingestellt war - also für 2009 über der Linie und für 2010 unter der Linie. Muss ich das Makro irgendwie anders aktivieren?
Liebe Grüße
Suzette
Anzeige
AW: Beschriftung Liniendiagramm
14.07.2010 08:39:08
Beverly
Hi Suzette,
das Makro muss am Schluss des Codes für das Kombinationsfeld aufgerufen werden.
Das Makro vergleicht die Werte der beiden Datenreihen miteinander. Wenn ein Wert der Reihe 2009 kleiner-gleich dem der Reihe 2010 ist, wird das Beschriftungslabel von 2009 unter und das von 2010 oberhalb des jeweiligen Datenpunktes angezeigt, im gegenteiligen Fall umgekehrt.
https://www.herber.de/bbs/user/70569.xls
Ich habe deinen Code noch ein klein wenig bereinigt, da man auch bei Diagrammen in den meisten Fällen auf Activate verzichten kann.


Anzeige
AW: Beschriftung Liniendiagramm
14.07.2010 09:05:23
Suzette
Das ist genial! Vielen Dank, das werde ich in Zukunft gaaanz oft verwenden. Muss mal sehen, ob ich das auf alle meine Diagramme umschreiben kann.
Danke schön!!
AW: Beschriftung Liniendiagramm
16.07.2010 12:19:06
Suzette
Hallo Karin,
da ich dieses Makro so genial finde, würde ich es jetzt gerne auf alle meine Graphiken umschreiben. Wenn ich allerdings die Zeile
arrWerte1 = .SeriesCollection("2009").Values
arrWerte2 = .SeriesCollection("2010").Values
umschreibe, auf: arrWerte1 = .SericesCollection("Plan").Values
arrWerte2 = .SericesCollection("Soll").Values
und auch sonst immer 2009/2010 durch diese Bezeichnungen ersetzte, funktioniert es nicht.
Was mache ich denn falsch?
Danke Dir im voraus und liebe Grüße
Suzette
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Liniendiagramm in Excel richtig beschriften


Schritt-für-Schritt-Anleitung

  1. Diagramm erstellen:

    • Erstelle ein Liniendiagramm in Excel mit den gewünschten Daten.
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul einfügen:

    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Makro-Code eingeben:

    • Füge den folgenden VBA-Code ein, um die Beschriftung der Linien dynamisch anzupassen:
    Sub Beschriftung()
        Dim chrDiagramm As Chart
        Dim arrWerte1
        Dim arrWerte2
        Dim intPunkt As Integer
        Set chrDiagramm = Worksheets("Kosten").ChartObjects(1).Chart
        With chrDiagramm
            arrWerte1 = .SeriesCollection("2009").Values
            arrWerte2 = .SeriesCollection("2010").Values
            For intPunkt = 1 To .SeriesCollection("2009").Points.Count
                On Error Resume Next
                If arrWerte1(intPunkt) <= arrWerte2(intPunkt) Then
                    .SeriesCollection("2009").Points(intPunkt).DataLabel.Top = .SeriesCollection("2009").Points(intPunkt).Top + 10
                    .SeriesCollection("2010").Points(intPunkt).DataLabel.Top = .SeriesCollection("2010").Points(intPunkt).Top - 10
                Else
                    .SeriesCollection("2009").Points(intPunkt).DataLabel.Top = .SeriesCollection("2009").Points(intPunkt).Top - 10
                    .SeriesCollection("2010").Points(intPunkt).DataLabel.Top = .SeriesCollection("2010").Points(intPunkt).Top + 10
                End If
            Next intPunkt
        End With
    End Sub
  5. Makro zuweisen:

    • Weise das Makro dem Drop-Down-Auswahlfeld zu, sodass es beim Ändern der Auswahl ausgeführt wird.
  6. Diagramm aktualisieren:

    • Teste das Diagramm, indem Du die Werte änderst und überprüfst, ob die Beschriftungen korrekt positioniert werden.

Häufige Fehler und Lösungen

  • Problem: Die Beschriftungen ändern sich nicht.

    • Lösung: Stelle sicher, dass das Makro am Ende des Codes für das Kombinationsfeld aufgerufen wird.
  • Problem: Falsche Werte in den Beschriftungen.

    • Lösung: Überprüfe, ob die SeriesCollection-Namen im Code mit denen in Deinem Diagramm übereinstimmen.

Alternative Methoden

Wenn Du keine VBA-Methode verwenden möchtest, kannst Du auch die standardmäßigen Excel-Funktionen nutzen:

  1. Datenbeschriftungen hinzufügen:

    • Klicke mit der rechten Maustaste auf die Linie im Diagramm und wähle Datenbeschriftungen hinzufügen.
  2. Formatierung anpassen:

    • Klicke auf die hinzugefügten Datenbeschriftungen und passe die Position manuell an.
  3. Gestaltung der Beschriftungen:

    • Über die Formatierungsoptionen kannst Du die Schriftart und das Layout der Beschriftungen ändern.

Praktische Beispiele

  • Beispiel 1: Du hast ein Excel Liniendiagramm mit den Verkaufszahlen von zwei Produkten. Die Werte überschneiden sich manchmal. Nutze das obige Makro, um die Datenbeschriftungen dynamisch zu verschieben.

  • Beispiel 2: Bei einem Excel Blasendiagramm kannst Du ähnliche Ansätze verwenden, um die Blasen zu beschriften und die Lesbarkeit zu verbessern.


Tipps für Profis

  • VBA optimieren: Nutze Schleifen und Bedingungen, um die Lesbarkeit der Beschriftungen weiter zu verbessern.

  • Diagramme beschriften: Experimentiere mit verschiedenen Diagrammtypen (z.B. Säulendiagramm, Kreisdiagramm), um die geeignetste Darstellung für Deine Daten zu finden.

  • Datenbeschriftungen außerhalb: Bei Säulendiagrammen kann es hilfreich sein, die Datenbeschriftungen außerhalb der Säulen zu positionieren, um Überlappungen zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Datenbeschriftung am Ende einer Linie hinzufügen? Um die Datenbeschriftung am Ende einer Linie zu positionieren, kannst Du die Datenbeschriftung manuell anpassen oder VBA verwenden, um sie dynamisch zu verschieben.

2. Was tun, wenn die Beschriftungen im Diagramm überlappen? Verwende das Makro aus der Schritt-für-Schritt-Anleitung, um die Position der Beschriftungen in Abhängigkeit von den Werten zu regulieren und Überlappungen zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige