Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autom. Farbänderung von Datenpunkten in Diagramm?

Autom. Farbänderung von Datenpunkten in Diagramm?
10.11.2004 18:49:03
Datenpunkten
Einen schönen Abend wünsche ich allen.
Ich steh mal wieder auf dem Schlauch. Ich habe ein Diagramm mit 2 Kurven. Es werden mir Werte aus der Spalte F und dort den Bereich F2:F161 und Spalte I dort der Bereich I2:I161 und F163:F184 und I163:I184 für die 2. Kurve als Kurven dargestellt. Nun habe ich aber noch einen dritten Wert, der in Spalte N und dort wieder in den Bereichen N2:N161 und N163:N184, steht den ich in das Diagramm mit einbinden möchte. Allerdings nicht als Kurve, sondern soll der Kurvenpunkt eine bestimmte Farbe annehmen. Es werden also den Werten in Spalte N eine Farbe zugeordnet. Nun soll der Wert aus der selben Zeile in Spalte F in dem Diagramm die Farbe annehmen, die dem Wert aus Spalte N zugeordnet wurde. Oh man, ist das kompliziert zu beschreiben. Ich habe auch mal eine Beispieldatei hochgeladen,
https://www.herber.de/bbs/user/13282.xls
wo ich in Spalte O mal die Zellen gefärbt habe, damit man sieht, welche Farbe welcher Wert bekommen soll. In dem Tabellenblatt Diagramm habe ich ein Beispiel hingeschrieben, welches sich auf Blatt "Werte" Zeile 105 (habe ich gelb eingefärbt) bezieht.
Ich hoffe irgend jemand hat überhaupt verstanden, was ich erreichen möchte. Wenn noch Fragen offen sein sollten, dann hier einfach stellen. Ich werde dann versuchen diese zu beantworten.
Schon mal besten Dank im Voruas an alle Helfenden.
Gruß,
Oliver

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autom. Farbänderung von Datenpunkten in Diagra
11.11.2004 10:58:22
Datenpunkten
Hello Oliver, meinst du das so: https://www.herber.de/bbs/user/13308.xls
hier das Makro, aber eins verstehe ich nicht, warum ist in deinem Diagramm noch eine Datenreihe "Grenzwert" ab Zeile F162 bis 183, es ist doch nur eine einzige Datenreihe oder? Diese Datenreihe ist beim Makro nicht mit enthalten, weil ich es nicht wusste wozo die gut ist, wenn die auch noch farblich werden soll dann muss das Makro ein kleinwenig abgeändert werden.
Gruss WS
AW: Autom. Farbänderung von Datenpunkten in Diagra
Datenpunkten
Hi,
einen Dank an Dich. Das was Du gemacht hast ist genau das, was ich gesucht habe. Allerdings müssten die Datenpunkte, die Du weggelassen hast, also F162:F183, auch mit eingearbeitet werden. Dabei handelt es sich um spezielle Werte, daher sind diese auch durch eine Leerzeile von den anderen Daten getrennt. Wenn Du mir noch sagen könntest, was ich an dem Makro ändern muss, wäre ich Dir noch mehr zu dank verpflichtet.
Danke Dir nochmals für die Mühe die ich Dir mache, bzw. gemacht habe,
Oliver
Anzeige
AW: Autom. Farbänderung von Datenpunkten in Diagra
11.11.2004 16:56:46
Datenpunkten
Hello Oliver,
ja dass kannst du doch einfach machen, indem du mit folgender Zeile rumdockterst:
ActiveChart.SeriesCollection(1).Points(n).Select, heißt Makro greift auf den ersten Datensatz zu, wenn du ActiveChart.SeriesCollection(2).Points(n).Select nimmst wird der 2. Datensatz angesprochen und dann muss das Makro ablaufen, könnte man in einer Schleife machen (außendrum). Müsste man austesten, denn es gibt Problem mit der inneren Schleife wegen der Laufvariablen Max. versuch mal erst das ganze selber hinzukriegen, wenn du Hilfe brauchst schreib noch mal an Seidel-Welka@t-online.de, ich helfe dir! Übrigens kann man natürlich auch die Größe, die Form der Punkter und vieles mehr so ändern!
Gruss WS
Anzeige
AW: Autom. Farbänderung von Datenpunkten in Diagra
Datenpunkten
Hi,
ich danke Dir nochmal für Deine Antwort. Ich habe mich nochmal mit dem Makro beschäftigt und habe einfach Dein erstes Makro noch mal für den 2. Datenbereich hinten angehängt. Das Makro sieht nun so aus:

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
'Bereich für die 1. Datenkurve ermitteln
ZeileBereich1 = Sheets("Werte").Range("F162").End(xlUp).Row - 1
'Bereich für die 2. Datenkurve ermitteln
ZeileBereich2 = Sheets("Werte").Range("F185").End(xlUp).Row - 162
'1. Kurve
For Zeile = 1 To ZeileBereich1
'Auswertung des Wertes in Spalte N
ZellWert = Sheets("Werte").Range("N" & Zeile + 1).Value
If ZellWert = 13 Then ZellWert = 1  'gelb
If ZellWert = 22 Then ZellWert = 2  'pastellgrün
If ZellWert = 12 Then ZellWert = 3  'lila
If ZellWert = 11 Then ZellWert = 4  'braun
If ZellWert = 20 Then ZellWert = 5  'grün
If ZellWert = 24 Then ZellWert = 6  'blau
If ZellWert = 25 Then ZellWert = 7  'rot
If ZellWert = 201 Then ZellWert = 8 'rot
ActiveSheet.ChartObjects("Diagramm 25").Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).Points(Zeile).Select
Select Case ZellWert
Case 1
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
End With
Case 2
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 35
.MarkerForegroundColorIndex = 35
End With
Case 3
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 39
.MarkerForegroundColorIndex = 39
End With
Case 4
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 53
.MarkerForegroundColorIndex = 53
End With
Case 5
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 50
.MarkerForegroundColorIndex = 50
End With
Case 6
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 41
.MarkerForegroundColorIndex = 41
End With
Case 7
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End With
Case 8
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 2
.MarkerForegroundColorIndex = 2
End With
End Select
Next
'2. Kurve
For Zeile = 1 To ZeileBereich2
'Auswertung des Wertes in Spalte N
ZellWert = Sheets("Werte").Range("N" & Zeile + 1).Value
If ZellWert = 13 Then ZellWert = 1  'gelb
If ZellWert = 22 Then ZellWert = 2  'graublau
If ZellWert = 12 Then ZellWert = 3  'lila
If ZellWert = 11 Then ZellWert = 4  'braun
If ZellWert = 20 Then ZellWert = 5  'grün
If ZellWert = 24 Then ZellWert = 6  'blau
If ZellWert = 25 Then ZellWert = 7  'kaki
If ZellWert = 201 Then ZellWert = 8 'rot
ActiveSheet.ChartObjects("Diagramm 25").Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(2).Points(Zeile).Select
Select Case ZellWert
Case 1
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
End With
Case 2
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 47
.MarkerForegroundColorIndex = 47
End With
Case 3
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 5
.MarkerForegroundColorIndex = 5
End With
Case 4
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 30
.MarkerForegroundColorIndex = 30
End With
Case 5
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 4
.MarkerForegroundColorIndex = 4
End With
Case 6
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 5
.MarkerForegroundColorIndex = 5
End With
Case 7
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 12
.MarkerForegroundColorIndex = 12
End With
Case 8
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End With
End Select
Next
End Sub

Es mag durchaus sein, dass man das Makro bestimmt noch irgendwie zusammenfassen kann, aber so wie es im Moment ist funktioniert es auf jeden Fall. Und das war ja, was ich wollte. Danke Dir also nochmals für Deine Hilfe.
Wünsche Dir noch einen schönen Abend,
Oliver
Anzeige
AW: Autom. Farbänderung von Datenpunkten in Diagra
12.11.2004 09:40:47
Datenpunkten
Hello Oliver,
ja so geht es auch, aber irgendwann beginnt Excel dann blöde zu werden, wenn der Code nämlich zu lang wird, du kannst das ganz einfach verkürzen indem du folgendes einfügst:
vor deiner Bemerkung 1. Kurve schreibst du for i= 1 to 2, dann änderst du ActiveChart.SeriesCollection(1).Points(Zeile).Select durch ActiveChart.SeriesCollection(i).Points(Zeile).Select und am Schluss das Next in
Next Zeile
Next i
und das 2. mal kannst du dann weglöschen,
das wars schon, noch ein Hinweis wegen deiner Abfrage der letzten Zeile und den -162, oder den 2 Bereichen, die du definiert hast, das geht natürlich nur solange wie deine Tabelle so aufgebaut ist, wenn dann Zeilen dazukommen gibt es Fehlermeldungen, deshalb würde ich darauf verzichten! und lieber ein Error Resume next reinsetzen und dann reicht ein Bereich, so wie du es gemacht hast, die Fehlermeldung kommt nur, wenn der Bereich größer ist als die Daten (also bei Zeile 162, bei der 2. Datenreihe geht es trotzdem, obwohl es erst bei 162 anfängt und die Tabelle kann beliebig erweitert werden.
Gruss WS
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige