Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

FullSeriesCollection

Forumthread: FullSeriesCollection

FullSeriesCollection
21.09.2015 15:27:25
Luca
Hallo zusammen ich verwende folgenden Codeschnipsel:

For i = 1 To Anzahl
wert = Range("E8").Offset(i - 1, 0).Value
Worksheets("Inputs").ChartObjects("Diagramm 4").Activate
With ActiveChart.FullSeriesCollection(3).Points((2 * i) - 1)
If wert > 0 Then
With .Format.Fill
.ForeColor.Brightness = -0.25
End With
Else
With .Format.Fill
.ForeColor.Brightness = 0.6000000238
End With
End If
End With
ActiveChart.FullSeriesCollection(3).DataLabels.AutoText = True
Next i

Nun möchte ich dies aber ohne das ganze "Activate"Zeugs schreiben. Jedoch klappt es nicht wenn _ ich einfach

With Worksheets("Inputs").ChartObjects("Diagramm 4").FullSeriesCollection(3).Points((2 * i)-1)

schreibe.
Hat jemand eine Lösung ?
Vielen Dank im Voraus

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FullSeriesCollection
21.09.2015 15:32:14
EtoPHG
Hallo Luca,
ungetestet:
With Worksheets("Inputs").ChartObjects("Diagramm 4").Chart.FullSeriesCollection(3).Points((2 * i)-1)
Gruess Hansueli

AW: FullSeriesCollection
21.09.2015 15:34:10
Luca
hat geklappt, danke vielmal :)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Arbeiten mit FullSeriesCollection in Excel VBA


Schritt-für-Schritt-Anleitung

Um mit der FullSeriesCollection in Excel VBA zu arbeiten, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Einfügen eines Moduls: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.

  3. Code einfügen: Kopiere und füge den folgenden Code in das Modul ein:

    Dim i As Integer
    Dim wert As Variant
    Dim Anzahl As Integer
    Anzahl = 10 ' Beispielwert für Anzahl der Datenpunkte
    
    For i = 1 To Anzahl
       wert = Range("E8").Offset(i - 1, 0).Value
       With Worksheets("Inputs").ChartObjects("Diagramm 4").Chart.FullSeriesCollection(3).Points((2 * i) - 1)
           If wert > 0 Then
               With .Format.Fill
                   .ForeColor.Brightness = -0.25
               End With
           Else
               With .Format.Fill
                   .ForeColor.Brightness = 0.6
               End With
           End If
       End With
       Worksheets("Inputs").ChartObjects("Diagramm 4").Chart.FullSeriesCollection(3).DataLabels.AutoText = True
    Next i
  4. Code ausführen: Führe den Code aus, um die Formatierung der Datenpunkte in deinem Diagramm anzuwenden.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass der Name des Diagramms und des Arbeitsblatts korrekt geschrieben ist. Überprüfe auch, ob das Diagramm tatsächlich im Arbeitsblatt "Inputs" vorhanden ist.

  • Fehler: "Index außerhalb des gültigen Bereichs"
    Lösung: Überprüfe die Anzahl der Datenpunkte, die du bearbeitest, und stelle sicher, dass sie im Bereich der FullSeriesCollection liegen.


Alternative Methoden

Wenn du die FullSeriesCollection ohne Activate verwenden möchtest, kannst du Folgendes tun:

With Worksheets("Inputs").ChartObjects("Diagramm 4").Chart.FullSeriesCollection(3).Points(Index)
    ' Deine Formatierungslogik hier
End With

Diese Methode ermöglicht es dir, direkt auf die Datenpunkte zuzugreifen, ohne das Diagramm aktivieren zu müssen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um die Verwendung der FullSeriesCollection zu verdeutlichen:

Sub BeispielFullSeriesCollection()
    Dim i As Integer
    Dim Anzahl As Integer
    Anzahl = 5 ' Angenommene Anzahl der Punkte

    For i = 1 To Anzahl
        With ActiveChart.FullSeriesCollection(1).Points(i)
            .Format.Fill.ForeColor.RGB = RGB(255, 0, 0) ' Punkte rot färben
        End With
    Next i
End Sub

In diesem Beispiel wird die Farbe der ersten Serie in einem aktiven Diagramm geändert.


Tipps für Profis

  • Verwende With-Anweisungen: Diese reduzieren die Anzahl der Schreibvorgänge und machen deinen Code effizienter.
  • Optimierung der Performance: Deaktiviere Bildschirmaktualisierungen mit Application.ScreenUpdating = False, bevor du umfangreiche Änderungen vornimmst, und aktiviere sie anschließend wieder.
  • Variablen deklarieren: Stelle sicher, dass du alle Variablen korrekt deklarierst, um mögliche Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Was ist die FullSeriesCollection in Excel VBA?
Die FullSeriesCollection ist eine Sammlung von Datenserien in einem Diagramm, die es ermöglicht, auf jede Serie und deren Eigenschaften zuzugreifen und sie zu ändern.

2. Wie kann ich auf ein bestimmtes Element in der FullSeriesCollection zugreifen?
Du kannst auf ein Element zugreifen, indem du den Index angibst, z.B. ActiveChart.FullSeriesCollection(1) für die erste Serie.

3. Was mache ich, wenn mein Diagramm nicht angezeigt wird?
Überprüfe, ob das Diagramm tatsächlich im angegebenen Arbeitsblatt vorhanden ist und ob der Name des Diagramms korrekt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige