Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagrammsäule mehrfarbig

Diagrammsäule mehrfarbig
05.11.2007 08:36:00
Rosi
Hallo Forum,hallo Andre aus Gera,
für mein Problem,eine Diagrammsäule mehrfarbig -abhängig von der Datenquelle- zu gestalten hat mir Andre aus Gera sehr geholfen und das untenstehende Makro erstellt.
Leider erscheint eine Fehlermeldung (Die Methode 'SeriesCollection' für das Objekt '_Chart' ist fehlgeschlagen),wenn ich den Datenbereich vergrössern muss und die Zeile "ActiveChart.SeriesCollection(iZeile - 2).Points(1).Select" wird gelb unterlegt!
Was muss ich tun damit das Makro funktioniert wenn ich den Datenbereich erweitern muss?Bin da wirklich noch sehr unbedarft,sorry!
Gruss Rosi

Sub Makro1()
' Makro am 04.11.2007 von schauan aufgezeichnet
' Diagramm mus zuerst angeklickt werden!
'Variablendeclarationen
Dim iZeile As Long
Dim iColor As Integer
'Erste Zeile mit Daten
iZeile = 3
'Tue solange Nr eingetragen
Do While Len(Sheets("Daten").Cells(iZeile, 1)) > 0
'Datenpunkt auswählen
ActiveChart.SeriesCollection(iZeile - 2).Points(1).Select
'Wenn Eintrag in Spalte B
If Sheets("Daten").Cells(iZeile, 2)  "" Then
'Farbauswahl 1
iColor = 4
'Oder wenn Eintrag in Spalte C
ElseIf Sheets("Daten").Cells(iZeile, 3)  "" Then
'Farbauswahl 2
iColor = 6
'Oder dann dürfte was in Spalte D stehen ..
Else
'Farbauswahl 3
iColor = 3
End If
'Mit dem selectierten Diagramm
Selection.Interior.ColorIndex = iColor
'Zeilenzähler hochsetzen
iZeile = iZeile + 1
'und nocheinmal ? ...
Loop
End Sub


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagrammsäule mehrfarbig
05.11.2007 09:27:00
Beverly
Hi Rosi,
da niemand deine ursprüngliche Frage kennt, wäre es besser gewesen, wenn du entweder:
1. diese Frage auch in dem Thread gestellt hättest, wo André dir geantwortet hat,
oder
2. zum Ausgangsthread verlinkt,
oder
3. deine Ausgangssituation noch einmal erläutert,
oder
4. noch besser deine Arbeitsmappe hochgeladen hättest.
In VBA kann zu 99,9% auf Select und Activate verzichtet werden - auch bei Diagrammen.
________________________________________

AW: Diagrammsäule mehrfarbig
05.11.2007 10:16:57
Rosi
Hallo Karin,
tut mir leid habe schon im Archiv geschaut,finde den Thread nicht mehr!
aber in der Anlage nochmal mein Problem auf das Andre geantwortet hatte!
https://www.herber.de/bbs/user/47421.xls
Gruss Rosi

Anzeige
AW: Diagrammsäule mehrfarbig
05.11.2007 10:40:29
Beverly
Hi Rosi,

Sub Makro1()
'Variablendeclarationen
Dim iZeile As Long
Dim iColor As Integer
Dim chDiagramm As Chart ' Diagramm als Diagrammobjekt
'Erste Zeile mit Daten
iZeile = 3
Set chDiagramm = Worksheets("Diagramm").ChartObjects(1).Chart
With chDiagramm
'Tue solange Nr eingetragen
Do While Len(Sheets("Daten").Cells(iZeile, 1)) > 0
'Datenpunkt auswählen
With .SeriesCollection(iZeile - 2).Points(1)
'Wenn Eintrag in Spalte D
If Sheets("Daten").Cells(iZeile, 4)  "" Then
'Farbauswahl 1
iColor = 4
'Oder wenn Eintrag in Spalte C
ElseIf Sheets("Daten").Cells(iZeile, 3)  "" Then
'Farbauswahl 2
iColor = 6
Else
'Farbauswahl 3
iColor = 3
End If
'Mit dem selectierten Diagramm
.Interior.ColorIndex = iColor
'Zeilenzähler hochsetzen
iZeile = iZeile + 1
End With
'und nocheinmal ? ...
Loop
End With
End Sub


Bis später,
Karin

Anzeige
AW: Diagrammsäule mehrfarbig
05.11.2007 10:58:00
Rosi
Hallo Karin,
habe das Makro reinkopiert,passiert aber immer noch mit dieser Fehlermeldung sobald ich den Datenbereich erweitere!
Gruss Rosi

AW: Diagrammsäule mehrfarbig
05.11.2007 11:48:12
Beverly
Hi Rosi,
du musst natürlich auch den Datenbereich im Diagramm erweitern, nicht nur in der Tabelle. Schließlich kann keine Datenreihe formatiert werden, wenn sie nicht vorhanden ist!
Der Code lief deshalb auf einen Fehler hinaus, weil darin Spalte A solange durchlaufen wurde, bis kein Wert mehr drin steht. Wesentlich günstiger ist es, wenn man stattdessen die Anzahl der Datenreihen im Diagramm selbst zählt, denn dann entsteht zumindest kein Fehler, falls der Datenbereich des Diagramms nicht entsprechend angepasst wurde:

Sub Makro1()
'Variablendeclarationen
Dim iZeile As Long
Dim iColor As Integer
Dim chDiagramm As Chart ' Diagramm als Diagrammobjekt
'Erste Zeile mit Daten
Set chDiagramm = Worksheets("Diagramm").ChartObjects(1).Chart
With chDiagramm
'Tue solange Nr eingetragen
For iZeile = 1 To chDiagramm.SeriesCollection.Count
'Datenpunkt auswählen
With .SeriesCollection(iZeile).Points(1)
'Wenn Eintrag in Spalte D
If Sheets("Daten").Cells(iZeile + 2, 4)  "" Then
'Farbauswahl 1
iColor = 4
'Oder wenn Eintrag in Spalte C
ElseIf Sheets("Daten").Cells(iZeile + 2, 3)  "" Then
'Farbauswahl 2
iColor = 6
Else
'Farbauswahl 3
iColor = 3
End If
'Mit dem selectierten Diagramm
.Interior.ColorIndex = iColor
'Zeilenzähler hochsetzen
End With
'und nocheinmal ? ...
Next iZeile
End With
End Sub


Bis später,
Karin

Anzeige
AW: Diagrammsäule mehrfarbig
05.11.2007 13:14:02
Rosi
Hallo Karin,
klar,das hatte ich nicht berücksichtigt.Lasse den Druckbereich nun stets per VBA anpassen.Funktioniert prächtig.
Vielen,vielen Dank!!!

AW: Diagrammsäule mehrfarbig
05.11.2007 13:15:21
Rosi
Sorry,freu mich weils geht.....
Datenbereich natürlich!!!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige