Daten per VBA in Diagramm übertragen

Guten Tag allerseits!

ich möchte gerne in einem bestehenden Diagramm den Datenbereich anpassen sowie die Daten aktualisieren.

Alles was ich mir bis jetzt zusammengegoogelt habe und nach dem Studium einer Menge schlauer Bücher ist folgender Code:

ERSTE_ZEILE = 5: LETZTE_ZEILE = ANZAHL_EINTRAEGE
ERSTE_SPALTE = 1: LETZTE_SPALTE = 2
ActiveSheet.ChartObjects(„Diagramm 14“).Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“). _
Range(Cells(ERSTE_ZEILE, ERSTE_SPALTE), Cells(LETZTE_ZEILE, LETZTE_SPALTE)), PlotBy:=xlColumns
Range(Cells(ERSTE_ZEILE, ERSTE_SPALTE)).Select

das funktioniert natürlich wieder mal nicht.

Hat jemand einen besseren Vorschlag?

Vielen Dank für eure Mühe.

Gruß Nikodemo

Grüezi NikoDemo

…Du sagtest doch, es klappe alles, als Du den Code ins Tabellenblatt verlegt hast…?

Alles was ich mir bis jetzt zusammengegoogelt habe und nach
dem Studium einer Menge schlauer Bücher ist folgender Code:

ERSTE_ZEILE = 5: LETZTE_ZEILE = ANZAHL_EINTRAEGE

ANZAHL_EINTRAEGE hat keinen Wert zugewiesen.

ERSTE_SPALTE = 1: LETZTE_SPALTE = 2
ActiveSheet.ChartObjects(„Diagramm 14“).Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“). _
Range(Cells(ERSTE_ZEILE, ERSTE_SPALTE), Cells(LETZTE_ZEILE,
LETZTE_SPALTE)), PlotBy:=xlColumns
Range(Cells(ERSTE_ZEILE, ERSTE_SPALTE)).Select

das funktioniert natürlich wieder mal nicht.

Was genau heisst hier ‚funktionert nicht‘?

Gibt es Fehlermeldungen?

Wenn ja welche und welche Zeile im Code wird im VBA-Editor hervorgehoeben, wenn Du auf [Debuggen] klickst?

Hat jemand einen besseren Vorschlag?

Zeichne das ändern der Datenquelle mal mit dem Makro-Recorder auf, dann hast Du die Syntax und alle notwendigen Objekte und musst dann nur noch deine Variablen einbauen.

BTW:
Hast Du es schon mal wie vorgeschlagen mit einem dynamischen Bereichsnamen versucht?
Dann fällt die Manipulation mit VBA nämlich komplett weg.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Guten Tag Thomas,

ich habe das mit den Aufzeichnung per Macro vorgenommen und (nachdem ich die Nummer des Diagramms herausgefunden habe) es so übernommen. Es funktioniert jetzt prima.

Was ist eigentlich ein dynamischer Bereichsname? Klingt interessant.

Recht herzliche Dank

Nikodem

Grüezi NikoDemo

ich habe das mit den Aufzeichnung per Macro vorgenommen und
(nachdem ich die Nummer des Diagramms herausgefunden habe) es
so übernommen. Es funktioniert jetzt prima.

Fein, das freut mich :smile:

Was ist eigentlich ein dynamischer Bereichsname? Klingt
interessant.

Mit der Funktion BEREICH.VERSCHIEBEN() kann man in Excel Datenbereiche berechnen und festlegen, die sich dynamisch nach der Anzahl der Einträge in einer Spalte vergrössern und verkleinern.
Damit kann man z.B. die Quelle für einen SVERWEIS() gestalten und noch einiges mehr.

Verbindet man diese Formel mit einem Bereichsnamen, kann man z.B. in Diagrammen sehr einfach nur noch diesen Namen für die Daten verwenden und das Diagramm aktualisiert sich sofort, wenn neue Daten unten am Quellbereich eingefügt werden.

Ein weitres Thema sind Pivot-Tabellen für die Auswertung von grossen Datenmengen - hierzu kann der folgende Artikel näheren Aufschluss geben:

http://www.online-excel.de/excel/singsel.php?f=69

Ganz ähnlich ist das dann auch bei den Diagrammen verwendbar, der Aufbau und die Erstellung des Namens ist praktisch identisch.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -