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

Bubble Chart Legende mit VBA anpassen

Bubble Chart Legende mit VBA anpassen
24.05.2021 19:54:13
Sandra
Hallo zusammen,
Ich habe via Excel ein Bubble Chart erzeugt.
X Werte = Fehleranzahl
Y Werte = Fehlerkosten
Größe der Bubble = Euro
Außerdem werden die Bubble mit Füllständen farblich ausgefüllt je nachdem, welcher Prozentsatz hinterlegt ist. Optisch wie Kuchenstücke. Dies passiert per VBA.
Nun möchte ich die Legenden beschriften. Aktuell enthält diese nur "Datenreihe 1 xxxxx".
Wie kann ich diese mit entsprechenden Namen füllen? Es sollen Namen zu den Werten angezeigt werden, welche sich ebenfalls in der Excel-Grundlage wiederfinden.
Spalte A und B sind Hilfsspalten mit notwendigen Werten.
In C findet sich der Name, der angezeigt werden soll, statt Datenreihe 1.Fortlaufend dann die Werte für die Achsen.
Zu jedem Bubble soll der entsprechende Name zugewiesen werden, da es sich um ein Portfolio handelt.
Vielen Dank für Eure Hilfe.
Beste Grüße
Sandra

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bubble Chart Legende mit VBA anpassen
25.05.2021 10:03:13
Beverly
Hi Sandra,
benutzt du für jede Blase eine eigene Datenreihe? Dann kannst du unter Daten auswählen... die betreffende Datenreihe anklicken -&gt Bearbeiten und dort unter "Reihenname:" die betreffende Zelle aus Spalte C eintragen (bzw. auswählen).

GrußformelBeverly's Excel - Inn
AW: Bubble Chart Legende mit VBA anpassen
25.05.2021 11:52:52
Sandra
Hallo Karin,
vielen Dank für deine Antwort.
Die Funktion kenne ich, aber die klappt hier leider nicht. Dann wird mir statt einem, zugewiesenen Namen alles von Zeile 5 - 54 angezeigt. Also 54 Namen pro Bubble und nicht der jeweils zugehörige.
Ich habe folgenden Code in VBA:
With ActiveSheet.ChartObjects("ErgBubble").Chart
.SeriesCollection(1).Name = "=""Lieferantenname"""
End With
Damit schaffe ich schon mal, dass in jedem Bubble nun das Wort "Lieferantenname" steht. Nun hätte ich aber gerne pro Bubble den tatsächlichen Lieferantennamen angezeigt. Da komme ich leider nicht weiter.
Danke!
Gruß
Sandra
Anzeige
Bitte Beispielmappe hochladen - o.w.T.
25.05.2021 12:31:01
Beverly

GrußformelBeverly's Excel - Inn
AW: Bitte Beispielmappe hochladen - o.w.T.
25.05.2021 13:58:14
Beverly
Da du nicht für jede Blase eine eigene Datenreihe verwendest sondern nur 1 einzige Datenreihe für alle Blasen, bleibt dir nichts weiter übrig, als für diese Datenreihe die Datenbeschriftung einzublenden und sie so zu formatieren, dass du "Wert aus Zellen" einstellst und als Bereich die Spalte C angibst - dann wird über jeder Blase der betreffende Liferant angezeigt.

GrußformelBeverly's Excel - Inn
Anzeige
Klappt nicht
30.05.2021 08:25:13
Sandra
Hallo Karin,
daran hatte ich auch gedacht, ist aber in dem Original sehr unschön. Dort sind über 50 Bubble enthalten. Wenn ich zu jedem den Namen einblende, kann man die Bubble nicht mehr erkennen oder eben der Text überlappt sich. Und, die Datenreihe lässt sich nicht erweitern, da ich die drei im Diagrammtyp zur Verfügung stehenden bereits für die Werte nutze.
Ich möchte den Lieferanten in dem Kästchen angezeigt haben, der beim Mouse Over angezeigt wird. Geht das?
Danke!
Viele Grüße, Sandra
AW: Klappt nicht
30.05.2021 09:22:32
ralf_b
https://www.clearlyandsimply.com/clearly_and_simply/2016/08/customizable-tooltips-on-excel-charts.html
sieh dir den Artikel an. dort wird auch ein Beispile verlinkt, das mit Klassenprogrammierung und ein bisschen API umgesetzt ist.
Habs kurz angetestet und dort werden eigene Tooltips auf dem jeweiligen Datenpunkt angezeigt.
Klassenprogrammierung deshalb weil sonnst kein Mouseevent zur Verfügung stehen würde.
Anzeige
AW: Klappt nicht
31.05.2021 15:40:37
Sandra
Hallo Ralf,
vielen Dank für deinen Link. Genau sowas suche ich!
Leider beschränken sich meine VBA Kenntnisse echt auf ein äußerstes Minimum, sodass ich mit dem Artikel und der Beispiel-Datei leider nicht zurecht komme.
Kannst du mir da weiterhelfen, bitte? Nach mehrfachem Test scheitere ich an den Angaben im Artikel ab dem Vorgang, dass Textfeld zu benennen. Danach verstehe ich so gut wie nichts mehr. Aber ich glaube, dass es gar nicht so schwer ist...
Bitte um Hilfe! Danke!!
Gruß
Sandra
AW: Klappt nicht
31.05.2021 19:15:14
ralf_b
https://www.herber.de/bbs/user/146459.xlsm
so bitteschön. Das Kreisdiagramm anklicken, danach wird pro Blase der Lieferant angezeigt. Ob das aber für dich so ne gute Idee ist Vba zu nutzen, wenn du es nicht adaptieren bzw. verstehen kannst.
Ich habe den Bereich der Lieferanten als Tabelle "tab_tooltip" formatiert.
in der datei clsChartevent die Zeile angepasst .TextFrame.Characters.Text = Worksheets("2020").ListObjects("tab_Tooltip").DataBodyRange(lng_Argument2, 1)
das shape aus dem Original in Blatt 2020 kopiert und den Namen übernommen.
im Codemodul von DieseArbeitsmappe den Blattnamen angepasst.

Private Sub Workbook_Open()
With Application
.ShowChartTipNames = False
.ShowChartTipValues = False
End With
AppEventsOn
Worksheets("2020").Activate
ActivateSheet ActiveSheet
End Sub
Ich glaub das wars.
Anzeige
Das geht ganz einfach...
30.05.2021 10:22:30
Beverly
Hi Sandra,
...wenn du anstelle 1 einzigen Datenreihe für jede Blase eine eigene Datenreihe verwendest.
Lösche dazu die Datenreihe sodass das Diagramm leer ist, dann kannst du mit folgendem Code das Diagramm neu erstellen:

Sub BlasenDia()
Dim lngZeile As Long
lngZeile = 7
Do
With ActiveSheet.ChartObjects("ErgBlasen").Chart
' Datenreihe hinzufügen
With .SeriesCollection.NewSeries
.Name = Cells(lngZeile, 3)
.XValues = Cells(lngZeile, 4)
.Values = Cells(lngZeile, 5)
.BubbleSizes = Cells(lngZeile, 7)
End With
End With
lngZeile = lngZeile + 1
Loop While Cells(lngZeile, 3)  ""
End Sub
Jede Blase hat dann natürlich erstmal eine andere Farbe, aber da dann die Kreisdiagramme als Datenpunkt eingefügt werden, spielt das keine Rolle.
Der Code für das Einfügen der Kreisdiagramme in die Datenpunkte muss dann natürlich auch geändert werden - sie werden nicht in jeden Datenpunkt der einen Datenreihe eingefügt sondern in den ersten (und einzigen) Datenpunkt JEDER Datenreihe:

For Each myRow In Range("KreisWerte").Rows
myPie.SeriesCollection(1).Values = myRow
myPie.Parent.CopyPicture xlScreen, xlPicture
Point_I = Point_I + 1
myBubbles.SeriesCollection(Point_I).Points(1).Paste '

GrußformelBeverly's Excel - Inn
Anzeige
Quickinfo / Tooltip / Mouse Over im Diagramm
31.05.2021 15:52:54
Sandra
Hallo Karin,
vielen Dank für deine Antwort.
Leider sind meine VBA Kenntnisse so verschwindend gering, dass ich das es nicht nachvollziehen kann.
Die Funktion von Ralf liest sich schon so wie das, was ich mir vorstelle. Tooltip / Quickinfo per Mouse Over im Diagramm.
In der Beispieldatei sind zwei Diagramme. Ich suche diese Funktion zwar für beide, aber vorzugsweise für die Version mit den "Kuchenstücken" im Bauch.
Kannst du mir da helfen?
Danke und Gruß
Sandra
AW: Quickinfo / Tooltip / Mouse Over im Diagramm
31.05.2021 16:53:47
Beverly
Hi Sandra,
wie ich bereits geschrieben hatte, kann man das viel einfacher lösen. Im Anhang deine Mappe mit dem geänderten rechten Diagramm: wenn du mit dem Cursor über eine Blase fährst werden ganz normal (wie bei jedem anderen Diagramm) alle Daten zu dem betreffenden Datenpunkt angezeigt.
https://www.herber.de/bbs/user/146458.xlsm

GrußformelBeverly's Excel - Inn
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige