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

Forumthread: Name einer Datenreihe

Name einer Datenreihe
16.03.2006 15:59:23
Müller
hi,
habe folgendes:
With objChart.Chart
.Parent.Name = "Strategie_Diagramm"
.ChartArea.AutoScaleFont = False
.ChartType = xlXYScatter
.SetSourceData Source:=Sheets("Auswertung").Range("H3:I24")
.HasTitle = True
.ChartTitle.Characters.Text = "Auswahldiagramm zur Projektpriorisierung"
.ChartTitle.Font.Bold = True
.ChartTitle.Font.Size = 12
jetzt möchte ich jeder datenreihe auch noch den namen zuweisen - sowas funktioniert leider nicht:
.SeriesCollection.Name = Sheets("Auswertung").Range("G3:G24")
kennt jmd den richtigen befehl, um den datenreihen ein namen zuzuweisen?
vielen dank
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name einer Datenreihe
16.03.2006 16:11:55
Sven
Hi,
Makrorekorder bekannt?
mfg Sven
AW: Name einer Datenreihe
16.03.2006 16:18:21
IngGi
Hallo ,
ich nehme an, du hast 22 Reihen von Zeile 3 bis Zeile 24 und die gewünschten Namen stehen in Spalte G? Dann sollte es so gehen:
Dim iReihe As Integer
For iReihe = 3 To 24
.SeriesCollection(iReihe - 2).Name = "=""" & Sheets("Auswertung").Range("G" & iReihe) & """"
Next 'iReihe
Gruß Ingolf
Anzeige
AW: Name einer Datenreihe
16.03.2006 16:46:46
Müller
Die SeriesCollection-Eigenschaft des Chart-Objektes kann nicht zugeordnet werden :(
weiss nicht, ob der befehl .seriescollection.name überhaupt der richtige ist innerhalb der with anweisung...bin halt momentan auch überfragt
..und ja, ich kenn den makro recorder - nutze den aber nicht weiter, da er nicht den syntax liefert, den ich atm verwende
ps: der makro recorder liefert das:
ActiveChart.SeriesCollection(1).Name = "=Auswertung!R3C7:R20C7" (muss net unbedingt die richtige endzeile sein)
das ganze soll ja auch inkrementell laufen, d.h., wenn die tabelle natürlich nur bis g7 gefüllt ist, dann halt nur bis g7 die werte nehmen
Anzeige
AW: Name einer Datenreihe
16.03.2006 17:42:37
IngGi
Hallo ,
noch'n Versuch:
Dim iReihe As Integer
For iReihe = 3 To Sheets("Auswertung").Range(G65536).End(xlUp).Row
.SeriesCollection(iReihe - 2).Name = "=Auswertung!R" & iReihe & "C7"
Next 'iReihe
Gruß Ingolf
AW: Name einer Datenreihe
16.03.2006 18:26:43
Herbert
hallo Müller,
falls es noch nicht funkt...


Sub diagr()
Dim objChart As ChartObject, iReihe As Integer
Set objChart = ActiveSheet.ChartObjects(1)
With objChart.Chart
     For iReihe = 1 To .SeriesCollection.Count
        .SeriesCollection(iReihe).Name = "=""" & Sheets("Auswertung").Range("G" & iReihe + 2) & """"
    Next
End With
End Sub

     gruß Herbert
Anzeige
AW: Name einer Datenreihe
17.03.2006 09:53:17
Müller
WOW...ich danke dir ganz herzlich - herrliches gefühl, wenn endlich (fast) alles funktioniert - war einer der letzten puzzlestücke ;) leider muss ich jetzt nur noch herausfinden, wie ich ne schleife über objektereignisse (chkXXXX_Click) lege...aber das is ne andere geschichte
also vielen vielen dank!
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datenreihe umbenennen und korrekt zuweisen


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument mit dem Diagramm, dessen Datenreihen du umbenennen möchtest.

  2. Öffne den VBA-Editor: Drücke ALT + F11.

  3. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (dein Dokument)“ > Einfügen > Modul.

  4. Kopiere den folgenden Code in das Modul:

    Sub DatenreiheUmbenennen()
       Dim objChart As ChartObject
       Dim iReihe As Integer
    
       Set objChart = ActiveSheet.ChartObjects(1) ' Wähle das erste Diagramm aus
       With objChart.Chart
           For iReihe = 1 To .SeriesCollection.Count
               .SeriesCollection(iReihe).Name = "=""" & Sheets("Auswertung").Range("G" & iReihe + 2) & """"
           Next iReihe
       End With
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Drücke ALT + F8, wähle DatenreiheUmbenennen und klicke auf Ausführen.

Damit werden die Namen der Datenreihen in deinem Diagramm entsprechend den Werten in der Spalte G der Tabelle „Auswertung“ umbenannt.


Häufige Fehler und Lösungen

  • Fehler: "SeriesCollection-Eigenschaft des Chart-Objektes kann nicht zugeordnet werden"

    • Lösung: Stelle sicher, dass du mit With objChart.Chart arbeitest und dass objChart korrekt zugewiesen ist.
  • Fehler: activechart.fullseriescollection(1).name funktioniert nicht

    • Lösung: Überprüfe, ob das Diagramm aktiv ist oder ob du das richtige Diagrammobjekt referenzierst.

Alternative Methoden

Eine alternative Methode, um die Namen der Datenreihen in Excel zu ändern, ist die Nutzung des Makrorekorders. Du kannst den Makrorekorder aktivieren und die Umbenennung manuell durchführen. Der Recorder erstellt den VBA-Code für dich.

  1. Aktiviere den Makrorekorder: Gehe zu „Entwicklertools“ > „Makro aufzeichnen“.
  2. Führe die Umbenennung manuell durch: Wähle die Datenreihe im Diagramm aus und ändere den Namen über die Formelleiste.
  3. Stoppe die Aufzeichnung: Gehe zurück zu „Entwicklertools“ > „Aufzeichnung beenden“.
  4. Bearbeite den aufgezeichneten Code, falls nötig.

Praktische Beispiele

Hier ist ein einfaches Beispiel, um die Datenreihe 1 in einem Diagramm umzubenennen:

Sub BeispielUmbenennen()
    ActiveChart.SeriesCollection(1).Name = "Umsatz 2023"
End Sub

In diesem Beispiel wird die erste Datenreihe eines aktiven Diagramms auf „Umsatz 2023“ gesetzt.


Tipps für Profis

  • Nutze die FullSeriesCollection, um auf alle Datenreihen zuzugreifen, insbesondere wenn du mit vielen Datenreihen arbeitest.

  • Wenn du eine dynamische Lösung benötigst, die sich an die Anzahl der ausgefüllten Zeilen anpasst, kannst du den Endwert mit Range("G65536").End(xlUp).Row ermitteln.

  • Überlege, die Diagrammtitel ebenfalls dynamisch zu gestalten, indem du die Werte aus einer Zelle als Titel verwendest.


FAQ: Häufige Fragen

1. Wie kann ich eine bestimmte Datenreihe umbenennen? Um eine bestimmte Datenreihe umzubenennen, verwende den Code ActiveChart.SeriesCollection(1).Name = "Neuer Name".

2. Was mache ich, wenn der Makrorekorder nicht den gewünschten Code liefert? In diesem Fall solltest du den VBA-Code manuell anpassen oder direkt mit dem VBA-Editor arbeiten, um die gewünschten Anpassungen vorzunehmen.

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