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

Säulendiagramm

Säulendiagramm
Peter
Guten Morgen,
(wie) kann ich bei einem Excel-Säulendiagramm Säulen mit einem Wert 0 grün darstellen? Dabei kommen beiden Werte aus einer Datenreihe.
Viele Grüße, Peter

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

Betreff
Benutzer
Anzeige
Säulendiagramm
10.08.2009 09:57:39
Alfons
Hallo Peter,
falls die Werte in Spalte A stehen:
Private Sub DiagrammFarbe()
Dim Dia As Chart
Dim bytBalken As Byte
On Error GoTo Fehler
'Diagrammname anpassen
Set Dia = ActiveSheet.ChartObjects("Diagramm 1").Chart
With Dia.SeriesCollection(1)
'Schleife über alle Datenpunkte
For bytBalken = 1 To .Points.Count
'Werte stehen in Spalte A
If ActiveSheet.Cells(bytBalken, 1) 
Gruß
Alfons
http://vba1.de
AW: Säulendiagramm
10.08.2009 10:00:24
Beverly
Hi Peter,
schau mal auf meine HP, Seite "Diagramme". Dort findest du das Beispiel Säulenfarbe negativ-positiv


Anzeige
und direkt aus dem Diagramm lesen?
10.08.2009 10:23:46
Alfons
Hallo Beverly,
ich hatte das erst mit Points(x).Value versucht.
Das geht aber nicht.
kann man den Wert eines Balkens auch direkt aus dem Diagramm lesen oder
nur über die Zelle?
Gruß
Alfons
http://vba1.de
AW: und direkt aus dem Diagramm lesen?
10.08.2009 10:53:40
Beverly
Hi Alfons,
man kann entweder den Wert aus dem Beschriftungslabel auslesen:
Sub DatenpunkteFaerbenBeschriftung()
Dim inPunkt As Integer
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
.ApplyDataLabels ' 0 Then
.Points(inPunkt).Interior.ColorIndex = 4
Else
.Points(inPunkt).Interior.ColorIndex = 3
End If
Next inPunkt
.DataLabels.Delete '

oder die Y-Werte direkt verwenden:
Sub DatenpunkteFaerbenYWerte()
Dim inPunkt As Integer
Dim arrY_Werte() As Variant
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
arrY_Werte() = .Values
For inPunkt = 1 To .Points.Count
If arrY_Werte(inPunkt) > 0 Then
.Points(inPunkt).Interior.ColorIndex = 4
Else
.Points(inPunkt).Interior.ColorIndex = 3
End If
Next inPunkt
End With
End Sub


Grußformel
Anzeige
Danke
10.08.2009 17:44:45
Alfons
Hallo Beverly,
Danke, muss ich morgen mal ausprobieren.
Gruß
Alfons
http://vba1.de

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige