Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Diagramm-quelle ändern mit VBA

Forumthread: Diagramm-quelle ändern mit VBA

Diagramm-quelle ändern mit VBA
26.09.2005 08:02:18
tlentz
Hi,
ich versuche die datenquelle einen Diagramms über VBA zu ändern. Scheitere allerdings kläglich. Ich habe alles probiert was die Excel hilfe selbst hergibt, leider ohne erfolg.
Das Diagramm hat die bezeichnung "test" und ist in eine bestehende mappe eingefügt worden.
So funktioniert es leider nicht.
Worksheets("Statistic").ChartObjects("test").SetSourceData Source:=Worksheets("Overview").Range("B10:D10"), PlotBy:=xlRows
Wär super wenn jemand eine idee hat.
danke und gruß
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Das Wörtchen 'Chart' vergessen
26.09.2005 08:24:52
Heiko
Hallo ?
so: Namen und Bereich anpassen.
ActiveSheet.ChartObjects("Diagramm 1").Chart.SetSourceData Source:=Sheets("Tabelle1").Range("A1:B10"), PlotBy :=xlColumns
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Das Wörtchen 'Chart' vergessen
26.09.2005 08:35:43
tlentz
Hi,
nein leider immer noch der selbe fehler.
MSG: Die Chart-Objects Eigenschaft des Worksheet objects kann nicht zugeordnet werden.
Anzeige
AW: Das Wörtchen 'Chart' vergessen
26.09.2005 09:02:09
Heiko
Hallo ?,
also bei mir läuft es so, sind den die Namen alle richtig. Statistic, Test und Overview ?
Worksheets("Statistic").ChartObjects("Test").Chart.SetSourceData Source:=Sheets("Overview").Range("F1:G10"), PlotBy:=xlRows ' A1:B10
Gruß Heiko

PS: Rückmeldung wäre nett !
Beispiel - Problem besteht weiterhin
26.09.2005 09:05:47
tlentz
Hi,
ich habe diesen teil des Sheets mal exportiert. Vielleicht siehst du den fehler ja auf den ersten blick.
https://www.herber.de/bbs/user/26907.xls
Anzeige
Vonwegen Test,, Diagramm 1
26.09.2005 09:16:01
Heiko
Hallo ?,
Man man man, wenn du den Diagrammtitel änderst wird sich nicht auch der VBA Name ändern ! Dein Diagramm heißt VBA mäßig immer noch Diagramm 1 !!!!!
Worksheets("Statistic").ChartObjects("Diagramm 1").Chart.SetSourceData Source:=Worksheets("Overview").Range("B10:D10"), PlotBy:=xlRows
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
Test postiv aber trotzdem noch ne frage
26.09.2005 10:04:37
tlentz
Hi,
du hast recht. Jetzt funktioniert es. Aber da kommt doch spontan die frage auf wie ich den VBA namen ändern kann. Ich ging bisher davon aus, dass die bézeichnungen miteinander verknüpft sind.
Trotzdem schon mal danke
gruß
AW: Test postiv aber trotzdem noch ne frage
26.09.2005 10:20:08
Heiko
Hallo ?,
z.B. so:

Sub DiagrammName()
Dim chaDiagram As ChartObject
For Each chaDiagram In ActiveSheet.ChartObjects
If MsgBox("Der VBA Name dieser Grafik ist =>  " & chaDiagram.Name & ". Wollen Sie Ihn ändern ?", vbYesNo + vbInformation) = vbYes Then
chaDiagram.Name = InputBox("Geben Sie den neuen Namen ein.", " Neuer Diagrammname", "Neuer Name")
End If
Next
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Test postiv aber trotzdem noch ne frage
26.09.2005 10:24:11
tlentz
Ja das funktioniert.
danke nochmal.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm-Quelle in Excel mit VBA ändern


Schritt-für-Schritt-Anleitung

Um die Datenquelle eines Diagramms in Excel über VBA zu ändern, befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA)-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Rechtsklicke im Projekt-Explorer auf "VBAProject (DeinDateiname)".
    • Wähle "Einfügen" und dann "Modul".
  3. Füge den folgenden Code ein:

    Sub DiagrammDatenbereichAendern()
       Dim chaDiagram As ChartObject
       Set chaDiagram = Worksheets("Statistic").ChartObjects("Test")
       chaDiagram.Chart.SetSourceData Source:=Worksheets("Overview").Range("B10:D10"), PlotBy:=xlRows
    End Sub
    • Achte darauf, dass du die Namen von Arbeitsblättern und Diagrammen an deine Gegebenheiten anpasst.
  4. Führe das Makro aus:

    • Drücke F5 oder wähle das Makro aus und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Fehler: "Die Chart-Objects Eigenschaft des Worksheet objects kann nicht zugeordnet werden."

    • Lösung: Stelle sicher, dass der Diagrammname und das Arbeitsblatt korrekt geschrieben sind. Achte auf Groß- und Kleinschreibung.
  • Fehler: Diagrammname nicht gefunden.

    • Lösung: Überprüfe, ob das Diagramm in Excel als "Diagramm 1" oder "Test" benannt ist. Du kannst den Namen im Diagrammformatierungsbereich ändern.

Alternative Methoden

Wenn du die Datenquelle eines Diagramms ändern möchtest, gibt es auch andere Ansätze:

  • Manuelle Änderung: Klicke mit der rechten Maustaste auf das Diagramm und wähle "Daten auswählen". Ändere dort den Datenbereich manuell.

  • Verwendung von Formeln: Du kannst auch dynamische Bereiche mit Formeln erstellen, um den Datenbereich eines Diagramms automatisch zu aktualisieren, wenn sich die Daten ändern.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von VBA zur Änderung des Diagrammdatenbereichs:

  1. Ändern des Datenbereichs für ein Säulendiagramm:

    Sub AendereSaeulenDiagramm()
       With Worksheets("Statistics").ChartObjects("Diagramm 1").Chart
           .SetSourceData Source:=Worksheets("Overview").Range("A1:B10"), PlotBy:=xlColumns
       End With
    End Sub
  2. Ändern des Diagrammtyps und der Datenquelle:

    Sub DiagrammTypUndDatenAendern()
       Dim chaDiagram As ChartObject
       Set chaDiagram = Worksheets("Statistics").ChartObjects("Test")
       chaDiagram.Chart.ChartType = xlPie
       chaDiagram.Chart.SetSourceData Source:=Worksheets("Overview").Range("C1:C10")
    End Sub

Tipps für Profis

  • Namen von Diagrammen ändern: Verwende den folgenden Code, um den Namen des Diagramms zu ändern:

    Sub DiagrammNameAendern()
      Dim chaDiagram As ChartObject
      For Each chaDiagram In ActiveSheet.ChartObjects
          If MsgBox("Der VBA Name dieser Grafik ist => " & chaDiagram.Name & ". Wollen Sie Ihn ändern?", vbYesNo + vbInformation) = vbYes Then
              chaDiagram.Name = InputBox("Geben Sie den neuen Namen ein.", " Neuer Diagrammname", "Neuer Name")
          End If
      Next
    End Sub
  • Verwende PlotBy: Achte darauf, in der SetSourceData-Methode, ob du die Daten nach Zeilen oder Spalten plotten möchtest. Das kannst du mit PlotBy:=xlRows oder PlotBy:=xlColumns steuern.


FAQ: Häufige Fragen

1. Wie ändere ich den Datenbereich eines Diagramms ohne VBA? Du kannst den Datenbereich eines Diagramms ändern, indem du mit der rechten Maustaste auf das Diagramm klickst und "Daten auswählen" wählst. Dort kannst du den Datenbereich manuell anpassen.

2. Was ist der Unterschied zwischen dem Diagrammname und dem VBA-Namen? Der Diagrammname ist der Name, der in Excel angezeigt wird. Der VBA-Name ist der Name, den VBA verwendet, um auf das Diagramm zuzugreifen. Diese können unterschiedlich sein und müssen nicht identisch sein.

3. Kann ich die Diagrammquelle dynamisch ändern? Ja, du kannst dynamische Bereiche in Excel erstellen, indem du benannte Bereiche oder Tabellen verwendest, die sich automatisch anpassen, wenn neue Daten hinzugefügt werden.

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