Datenpunkt in mehreren Diagrammen hervorheben
#1
Hallo,

ich habe aus einer Tabelle mehrere Diagramme erstellt die jeweils eine Spalte darstellen. Messwert 1 über Artikelnummer und Messwert 2 über Artikelnummer usw.
Jetzt ist ein Datenpunkt im Messwert 1 Diagramm auffällig. Um zu erkennen ob dieser Datenpunkt (Artikelnummer) auch in den anderen Messwerten auffällig ist möchte ich diesen Datenpunkt (Artikelnummer) gerne in allen Diagrammen hervorheben ohne ihn in jedem Diagramm zu suchen und manuell hervorzuheben. Ein Filtern der Tabelle ist auch keine Lösung, da mir sonst überall der Vergleich zu den anderen Datenpunkten fehlt und ich nur den Auffälligen sehe.

Optimal wäre eine Lösung bei der ich in der Tabelle aus der die Daten stammen festlege: Bitte diese Reihe (Artikelnummer) in allen Diagrammen hervorheben.

Hat da jemand eine Lösung?
Top
#2
Hallo D...,

ich sehe da zwei Möglichkeiten:

A) zusätzliche Datenreihen
Du kannst
1. die Struktur deiner Tabelle kopieren,
2. über Formeln die Werte nur übernehmen wenn die Artikelnummer der Auswahl entspricht und
3. in jedes Diagramm eine zweite Datenreihe einfügen.



B) VBA
Abhängig von den Diagrammtypen kann man (eventuell über eine Parametertabelle) die Formatierung für die Auswahl ändern und bei einer Abwahl wieder zurücksetzen.


A) ist ein wenig manueller Aufwand und für B) benötigt man schon einige VBA-Kenntnisse.
Weitergehende Hilfe nur wenn du eine Beispieldatei zur Verfügung stellst.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#3
Vielen Dank Helmut,

habe das mal mit den extra Datenreihen probiert.
Leider gibt es dann Probleme mit der Horizontalen-Achse, dass die hervorzuhebenden Datenpunkte nicht mehr an der richtigen Stelle sind.
Aus Artikelnummer habe ich jetzt irgendein Datum (z.b. Verkaufsdatum) gemacht.
Hab mal eine Beispieldatei angehängt.

Wenn du da eine gute Lösung hättest wäre das toll.


Angehängte Dateien
.xlsx   DatenhervorhebenBsp.xlsx (Größe: 73,72 KB / Downloads: 2)
Top
#4
Hallo,

aus dem Archiv kommt dieser Code, der ausgewählte Punkte im Chart markiert. Die Anpassung solltest Du hin bekommen.

Code:
Sub BedingtFormatieren()
     Dim lngPunkt As Long
     Dim pktPunkt As Point
     Dim strBereich As String
     With ActiveSheet.ChartObjects(1).Chart.SeriesCollection("Dauer")
         strBereich = Split(.Formula, ",")(1)
         For lngPunkt = 1 To .Points.Count
             If Range(strBereich).Cells(lngPunkt).Offset(0, 1).DisplayFormat.Interior.ColorIndex  _
<> xlNone Then
                 Set pktPunkt = .Points(lngPunkt)
                 pktPunkt.Interior.Color = _
                     Range(strBereich).Cells(lngPunkt).Offset(0, 1).DisplayFormat.Interior.Color
             End If
         Next lngPunkt
     End With
End Sub

mfg

(vermutlich von Beverly "excel-inn.de")
Top
#5
Hallo
danke für die Hilfe. Habe es mal versucht zu integrieren und anzupassen. Bin aber kläglich daran gescheitert.
Eine kleine Anleitung wäre super:D
Top
#6
Hallo,

ich habe es auch nicht geschafft, einzelne Punkte zu färben.

Gehe zu Herber.de/Forum und zeige (mit Hinweis) dort die Datei und meinen Code. Beverly ist fast täglich dort (hier nie)

mfg


Angehängte Dateien
.xlsm   DatenhervorhebenBsp.xlsm (Größe: 86,2 KB / Downloads: 0)
Top
#7
Hallo,

noch einmal ein Beispiel:

In Spalte A stehen Labels, z.B. A,B, C usw, in Spalte B stehen Werte, einige größer 10, andere kleiner 10.

Dieser Code färbt die Marker nach den Gruppen getrennt ein:

Code:
Sub Punkte_faerben()

Dim Cht As Chart
Dim Col As Long

Set Cht = ActiveSheet.ChartObjects(1).Chart

With Cht.FullSeriesCollection(1)

    For i = 1 To .Points.Count
        
        With .Points(i)
            .ApplyDataLabels
            If Val(.DataLabel.Text) > 10 Then
                Col = RGB(255, 0, 0)
             Else
                Col = RGB(0, 255, 0)
             End If
            .ApplyDataLabels (xlDataLabelsShowNone)
            
               .MarkerStyle = xlMarkerStyleSquare
               .MarkerForegroundColor = Col
               .MarkerBackgroundColor = Col
               .MarkerSize = 5
          
           End With
    Next i
End With

Set Cht = Nothing
End Sub

In deinem Beispiel sind die Chart etwas "ungewöhnlich": 2x die selbe Spalte, die Datums-Werte nicht als Datum. Die Meßwerte 3 sind identisch zu den Meßwerten 2, aber um 2 Zeilen verschoben.

mfg

(den Wert der Punkte konnte ich nicht eleganter auslesen, vielleicht kennt jemand einen Weg)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste