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

Farbgebung Bubblechart aus zusätzlicher Serie?

Farbgebung Bubblechart aus zusätzlicher Serie?
13.06.2019 18:08:11
Thomas
Hallo zusammen,
ich hab ein Problem. Ich möchte eine Bubblechart mit spezieller Farbgebung machen.
Die Serien sind wie folgt
Name: A,B,C,D,E,F
Attractiveness: 0-100% - Y-Achse
Datum: Wann - X-Achse
Größe: Bubblesize
So jetzt das Problem. Ich habe noch eine 5 Spalte, welche die Wahrscheinlichkeit abdecken soll. Diese soll nun folgendes tun. Sollte die Wahrscheinlichkeit kleiner/gleich 40 sein dann sollten die Bubbles in Rot erscheinen, 41-69 in gelb und über 70 in grün. Ich habe ein Excel hochgeladen um es euch auch als Datei darzustellen.
Geht das mit einem Macro zu lösen?
https://www.herber.de/bbs/user/130373.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Farbgebung Bubblechart aus zusätzlicher Serie?
13.06.2019 18:14:53
Daniel
Hi
sollte per Code problemlos machbar sein.
wie das Umfärben geht, kannst du dir ja mit dem Recorder aufzeichnen, auch welche werte du für die verschiedenen Farben einsetzen musst.
Dann mit einer Schleife über die Tabelle gehen und die einzelnen Datenreihen entsprechen umfärben.
die Datenreihen kannst du über die Indexnummer ansprechen, welche eigentlich gleich mit der Zeilennummer der dazugehörigen Zeile in der Datentabelle verläuft.
Gruß Daniel
AW: Farbgebung Bubblechart aus zusätzlicher Serie?
13.06.2019 23:24:14
Rainer
Hallo Thomas,
färbe deine Wahrscheinlichkeiten mit bedingter Formatierung ein. Dann nimm diesen Code:
Gruß, Rainer
Sub Conditional_Format_for_Graphs_V3()
'Select a Series from a Chart, the Points will be coloured according to the Backgraund Colour
'Also works with Conditional Formating of the Cells
'New option: if no Series is selected, all Series are chosen
'New Option: Offset parameter for RaZelle
'Tested for Column Chart, Line chart with Markers, Pie and doughnut charts, Doughnut Charts,  _
Bar Chart
'XY (scatter) and bubble chart, Bubble Chart
'Treemap chart (Office 2016 and newer versions only)
'Sunburst chart (Office 2016 and newer versions only)
'Waterfall charts (Office 2016 and newer versions only)
'Map chart (Excel only)
'Not working with: Area Chart, Stock Chart, Surface Chart, Radar Charts
'Histogram charts (Office 2016 and newer versions only)
'Box and Whisker charts (Office 2016 and newer versions only)
'Funnel charts (Office 2016 and newer versions only)
'Combo charts (Office 2013 and newer versions only)
Dim RaZelle As Range
On Error Resume Next
test = ActiveChart.Name
If IsEmpty(ActiveChart.Name) Then
MsgBox "Select Graph first", vbCritical
Exit Sub
End If
If TypeName(Selection) = "Series" Then
Set ch = ActiveChart.SeriesCollection
For SeriesI = 1 To ch.Count
If ch(SeriesI).Name = Selection.Name Then I = SeriesI
Next SeriesI
Else
If MsgBox("No Series selected, continue with all Series?", vbYesNo, "Warning") = vbYes  _
Then
I = 1
Else
Exit Sub
End If
End If
For SeriesI = 1 To ActiveChart.SeriesCollection.Count
SeriesFormula = ActiveChart.SeriesCollection(SeriesI).Formula
X1 = InStr(SeriesFormula, ",")             'Ende Name
X1 = InStr(X1 + 1, SeriesFormula, ",")      'Ende X-Achse
X2 = InStr(X1 + 1, SeriesFormula, "!")      'Ende Blattname
X1 = InStr(X1 + 1, SeriesFormula, ",")
ValueRange = Mid(SeriesFormula, X2 + 1, X1 - X2 - 1)
If ValueRange = "" Then                 'Treemap
Dim chtObj1 As ChartObject
Dim chtObj2 As ChartObject
Set chtObj1 = ActiveChart.Parent
Set chtObj2 = chtObj1.Duplicate.Chart.Parent
chtObj2.Activate
ActiveChart.ChartType = xlLine
SeriesFormula = ActiveChart.SeriesCollection(1).Formula
X1 = InStr(SeriesFormula, ",")             'Ende Name
X1 = InStr(X1 + 1, SeriesFormula, ",")      'Ende X-Achse
X2 = InStr(X1 + 1, SeriesFormula, "!")      'Ende Blattname
X1 = InStr(X1 + 1, SeriesFormula, ",")
ValueRange = Mid(SeriesFormula, X2 + 1, X1 - X2 - 1)
ActiveChart.Parent.Delete
chtObj1.Activate
ActiveChart.FullSeriesCollection(1).Select
End If
I = 1
For Each RaZelle In ActiveSheet.Range(ValueRange)
If RaZelle.DisplayFormat.Interior.Color  16777215 Then
ActiveChart.SeriesCollection(SeriesI).Points(I).Format.Fill.ForeColor.RGB = _
RaZelle.Offset(0, 3).DisplayFormat.Interior.Color
End If
I = I + 1
Next RaZelle
Next SeriesI
End Sub

Anzeige
AW: Farbgebung Bubblechart aus zusätzlicher Serie?
14.06.2019 14:38:42
Thomas
Danke schonmal für eure Antworten! Jetzt nochmals eine bitte. Ich habe mir jetzt einmal ein VBA zusammengebastelt, aber es läuft nicht. Vielleicht kann ja mal jemand drüber schauen und mir den Fehler mitteilen.
https://www.herber.de/bbs/user/130387.xlsm
Sub Bubble_Coloring()
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim Cht As Chart
Dim Ser As Series
Dim i As Integer
For i = 2 To Range("names").Count
' Select the chart
ActiveSheet.ChartObjects("BubbleChart").Activate
Set Cht = ActiveChart
Set Ser = Cht.SeriesCollection(i)
' Add data label
ActiveChart.SetElement (msoElementDataLabelTop)
'get the color from column E
ThisColor = ActiveSheet.Cells(i, 5).Value
Select Case ThisColor
Case Is = 70
Ser.Points.Format.Fill.ForeColor.RGB = RGB(0, 176, 80)
Case Else
Ser.Points.Format.Fill.ForeColor.RGB = RGB(255, 192, 0)
End Select
' Get the label from column F
Ser.Points(i).DataLabel.Text = Cells(i, 6).Value
Next i
End Sub

Anzeige
AW: Farbgebung Bubblechart aus zusätzlicher Serie?
14.06.2019 15:03:19
Rainer
Vielleicht gucke ich es mir an, wenn du mir sagst warum mein Code nicht gefällt? Warum brauchst du einen zweiten funktionierenden Code?
Dein Fehler liegt daran, dass du den "Points" eine Nummer geben musst.
Ser.Points(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)

AW: Farbgebung Bubblechart aus zusätzlicher Serie?
14.06.2019 15:17:56
Thomas
Hi Rainer,
ich will in der Tabelle keine bunten Felder haben. Ausserdem ist der so lang, da weiss ich garnicht mehr wo ich rumbasteln muss wenn ich noch was ändern will ;)
Danke für den Hinweis, habe jetzt geändert aber nun zeigt es mir bei "Set Ser = Cht.SeriesCollection(i)" den bug. Komischerweise läuft es aber wie gewollt nur haut es immer wieder ne
Run-Time error '1004' und wenn ich auf Debug gehe zeigt er eben o.g. Zeile an.
Anzeige
AW: Farbgebung Bubblechart aus zusätzlicher Serie?
14.06.2019 15:25:48
Rainer
Hallo Thomas,
Ich will dir nicht zu nahe treten, aber ich fasse zusammen:
Du hast von VBA nicht viel Ahnung. Dann bittest du um Hilfe und bekommst einen sehr flexiblen Code, der auch 100% das macht was du willst. Du nimmst dir aber nicht die Zeit das zu verstehen und auch nicht die Zeit, Fragen zu stellen wenn du etwas nicht verstehst.
Statt dessen ist dein Problem "Ich mag keine bunten Felder".
Bei so schwerwiegenden Problemen sieh es mir nach, aber da bin ich raus aus dem Thema.
Ich stell mal auf offen, vielleicht will jemand anderes helfen.
Ich geh jetzt ins Freibad. Schönes Wochenende!
Rainer
Anzeige
AW: Farbgebung Bubblechart aus zusätzlicher Serie?
14.06.2019 15:59:18
Thomas
Sorry Rainer dass ich damit genervt habe.
Die ganze Geschichte ist nicht für mich sondern für eine Präsentation meines Chefs. Es soll so schlicht wie möglich gehalten werden, deswegen die "bunten Felder". Aber ich wünsch dir auch ein schönes WE
Danke trotzdem nochmals
Gruss

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige