Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Datalabels suchen und einfärben

Betrifft: Datalabels suchen und einfärben von: Chris
Geschrieben am: 29.09.2014 18:29:49

Hallo Liebe Forumsmitglieder,
ich habe mal wieder ein kleines Problem. Ich möchte mit meinem Sub bestimmte Werte aus einem Punktdiagramm automatisch einfärben. Die Werte nimmt er sich aus einer Zelle im Tabellenblatt.

Er wirft momentan den Fehler "424 Objekt erforderlich". Ich dachte ich hätte alles richtig deklariert und kann es mir nicht erklären.

Die nächste Frage wäre dann ob der Code das tut was er soll. Die Werte aus dem Punktdiagramm bestehen zwar aus 2 Datenreihen aber eigentlich bestimme ich den zu markierenden Punkt nur über eine Datenreihe. Aber das macht wahrscheinlich nichts wenn ich beide abfrage...

Im Code seht ihr die Schleife für einen Wert (t1)

Würde mich freuen wenn ihr mir weiterhelfen könntet. Schönen Abend und beste Grüße
Chris

'set color for Top 3 and Worst 3 in the Matrix

Dim t1              As Object
Dim t2              As Object
Dim t3              As Object
Dim w1              As Object
Dim w2              As Object
Dim w3              As Object
Dim h               As Variant
Dim g               As Variant


Set t1 = Worksheets("DQI Comparison").Range("O4").Value
Set t2 = Worksheets("DQI Comparison").Range("O5").Value
Set t3 = Worksheets("DQI Comparison").Range("06").Value

Set w1 = Worksheets("DQI Comparison").Range("O12").Value
Set w2 = Worksheets("DQI Comparison").Range("O13").Value
Set w3 = Worksheets("DQI Comparison").Range("O14").Value


For h = 1 To ActiveChart.SeriesCollection.Count
         For g = 1 To ActiveChart.SeriesCollection(h).Points.Count
             If ActiveChart.SeriesCollection(h).Points(g).Values = t1 Then
                 ActiveChart.SeriesCollection(h).Points(g).datalable.FillFormat.ForeColor = RGB( _
255, 51, 0)
         
             End If
         Next g
     Next h

  

Betrifft: AW: Datalabels suchen und einfärben von: fcs
Geschrieben am: 30.09.2014 14:18:50

Hallo Chris,

außer den Schleifen selber passt nur wenig zusammen.

1. Variablen, denen Werte zugewiesen werden dürfen nicht als Object deklariert werden.

2. Mit Set werden keine Werte sondern Objekte einer Variablen zugewiesen.

3. Points haben keine Values-Eigenschaft. Der Wert muss über die Values der Datenreihe ermittelt werden.

4. Die Syntax für die Füllfarbe der Datenbeschriftung ist nicht korrekt.
Wichtig: die Beschriftungen müssen schon angezeigt werden, bevor man ihre Eigenschaft ändern kann.

5. Du hattest bei Range("O5") "05" statt "O5" geschrieben.

Es ist hilfreich, Variablen vom passen Typ zu deklarieren, um dann die passenden Methoden und Eigenschaften anzuwenden/zuzuweisen. Der VBA-Editor hilft dann bei der Auswahl, wenn der Punkt geschrieben wird - speziell bei Diagrammen und Pivotberichten, die eine sehr komplexe Objektstruktur haben.

Gruß
Franz

Sub aatest()
'set color for Top 3 and Worst 3 in the Matrix

  Dim t1              As Variant
  Dim t2              As Variant
  Dim t3              As Variant
  Dim w1              As Variant
  Dim w2              As Variant
  Dim w3              As Variant
  Dim h               As Long
  Dim g               As Long

  Dim objPoint As Point 'Object
  Dim objReihe As Series 'Object

   t1 = Worksheets("DQI Comparison").Range("O4").Value
   t2 = Worksheets("DQI Comparison").Range("O5").Value
   t3 = Worksheets("DQI Comparison").Range("O6").Value

   w1 = Worksheets("DQI Comparison").Range("O12").Value
   w2 = Worksheets("DQI Comparison").Range("O13").Value
   w3 = Worksheets("DQI Comparison").Range("O14").Value


    For h = 1 To ActiveChart.SeriesCollection.Count
        Set objReihe = ActiveChart.SeriesCollection(h)
        For g = 1 To objReihe.Points.Count
            Set objPoint = objReihe.Points(g)
            If objReihe.Values(g) = t1 Then
                objPoint.DataLabel.Format.Fill.ForeColor.RGB = RGB(255, 51, 0)
             
            End If
        Next g
    Next h
End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "Datalabels suchen und einfärben"