wie kann ich per Makro ermöglichen, dass in ein Punktdiagramm das aus Zellen Werte besteht, so machen kann, wenn von Zelle A2 bis A10 Werte sind die größer als Null sind dann die entsprechende Punkte im Diagramm andere Farbe darstellt.?
Danke
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chDiagramm As Chart ' Variable für das Diagramm als Objekt
Dim raZelle As Range
' wenn Änderung nicht im definierten Bereich
If Intersect(Target, Range("B9:O9")) Is Nothing Then Exit Sub
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False
' Diagramm1 der Variablen zuweisen
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
If Target.Count > 1 Then
For Each raZelle In Selection
With .SeriesCollection(1).Points(raZelle.Column - 1)
If raZelle = 1 Or raZelle = 2 Then
' Hintergrundfarbe des Datenpunktes
.MarkerBackgroundColorIndex = 4
' Vordergrundfarbe des Datenpunktes
.MarkerForegroundColorIndex = 4
ElseIf raZelle = 3 Or raZelle = 4 Then
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
Else
If raZelle "" Then
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End If
End If
End With
Next raZelle
Else
' Datenpunktposition innerhalb der Reihe wird aus der Spalte - 1 ermittelt
With .SeriesCollection(1).Points(Target.Column - 1)
If Target = 1 Or Target = 2 Then
' Hintergrundfarbe des Datenpunktes
.MarkerBackgroundColorIndex = 4
' Vordergrundfarbe des Datenpunktes
.MarkerForegroundColorIndex = 4
ElseIf Target = 3 Or Target = 4 Then
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
Else
If Target "" Then
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End If
End If
End With
End If
End With
' Bildschirmaktualisierung ein
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chDiagramm As Chart ' Variable für das Diagramm als Objekt
Dim raZelle As Range
' wenn Änderung nicht im definierten Bereich
If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False
' Diagramm1 der Variablen zuweisen
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
If Target.Count > 1 Then
For Each raZelle In Selection
With .SeriesCollection(1).Points(raZelle.Row)
If raZelle = 1 Or raZelle = 2 Then
' Hintergrundfarbe des Datenpunktes
.MarkerBackgroundColorIndex = 4
' Vordergrundfarbe des Datenpunktes
.MarkerForegroundColorIndex = 4
ElseIf raZelle = 3 Or raZelle = 4 Then
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
Else
If raZelle "" Then
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End If
End If
End With
Next raZelle
Else
' Datenpunktposition innerhalb der Reihe wird aus der Zeile ermittelt
With .SeriesCollection(1).Points(Target.Row)
If Target = 1 Or Target = 2 Then
' Hintergrundfarbe des Datenpunktes
.MarkerBackgroundColorIndex = 4
' Vordergrundfarbe des Datenpunktes
.MarkerForegroundColorIndex = 4
ElseIf Target = 3 Or Target = 4 Then
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
Else
If Target "" Then
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End If
End If
End With
End If
End With
' Bildschirmaktualisierung ein
Application.ScreenUpdating = True
End Sub