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

Per VBA Daten zu einem Diagramm hinzufügen

Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 01:12:31
Martin
Hi,
ich stehe total auf dem Schlauch und sämtliche forums-/google-suchen haben mir nicht weitergeholfen.
Folgendes ist der Fall:
Ich möchte Daten aus einer Tabelle dynamisch in ein Balkendiagramm hinzufügen und zwar nicht als new series sondern in die existierende. Das Problem ist, das aus der jeweiligen Zeile nicht jede Spalte miteingefügt werden soll (z.B. B12:X12), sondern nur jede Dritte (B12, E12, usw.).
Die letzte gefüllte Spalte wird ausgelesen und gibt mir den Max-Wert. Somit soll das Ganze beliebig erweiterbar sein.
Ich habe mich jetzt vier Stunden an einer Schleife probiert, die über Range(Cells(12, i) die Daten hinzufügen soll, habe mal mit .extend mal mit .add probiert und mehrfach den Rechner ins Koma geschickt oder die 1004 angezeigt bekommen. Jetzt ist nix mehr drin in meiner Birne und ich bin echt ratlos...
Kann mir jemand von euch da draußen helfen ?
Das muss doch irgendwie hinzukriegen sein ? Oder sehe ich den berühmten Wald vor lauter Bäumen nicht ?
Ich bin für jede Hilfe äußerst dankbar... ;)
Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 05:03:27
Wuxinese
Hallo Martin,
ich habs mit einer Hilfstabelle, die dem Diagramm zugrunde liegt, geloest. In die kopiere ich alle 'Ins-Diagramm-Daten' aus der eigentlichen Datentabelle. Ich hoffe, Du kannst mit https://www.herber.de/bbs/user/45348.xls was anfangen.
Gruss
Rainer

AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 07:50:00
Martin
Hab besten Dank, Rainer, das ist in der Tat der Wald, den ich nicht gesehen. ;)
Das Problem war wohl, dass ich unbedingt alles über vba abfeiern wollte und das mit collections etc. probiert habe - dabei ist das natürlich die einfachere Lösung...
(!) Falls aber trotzdem nochmal jemand über diesen Thread stolpert, der mir sagen kann. ob ich sowas nicht auch mit einer collection machen kann, die ich in einer Schleife fülle (oder irgendsowas vom Prinzip her ähnliches, sprich komplett per VBA) und ob so etwas Leistungstechnisch überhaupt Sinn macht (ich generiere auf Klick bis zu 20 Diagramme aus den gewählten Zeilen), wäre ich "saudankbar" !!! ;)
Erstmal werde ich Rainers Lösung verwenden...

Anzeige
AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 08:00:00
Beverly
Hi Martin,
meinen Vorschlag von 07:28:51 hast du schon getestet?
Bis später,
Karin

AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 08:06:00
Martin
Grad erst gelesen, Sorry... Hab schon drauf geantwortet... ;)

AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 07:28:51
Beverly
Hi Martin,
der einfachste Weg: lies die Werte als StringArray ein. Du musst allerdings beachten, dass die Anzahl Zeichen im Array ca. 200 nicht übersteigen darf.

Sub dia()
Dim chDiagramm As Chart
Dim inSpalte As Integer
Dim strWerte As String
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
For inSpalte = 2 To IIf(IsEmpty(Cells(15, Columns.Count)), Cells(15, Columns.Count).End( _
xlToLeft).Column, Columns.Count) Step 3
strWerte = strWerte & "," & Cells(15, inSpalte)
Next inSpalte
strWerte = Mid(strWerte, 2)
chDiagramm.SeriesCollection(1).Values = strWerte
End Sub


________________________________________

Anzeige
AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 08:00:00
Martin
Hi Beverly,
dank dir! 200 Zeichen ist in der Tat recht schwach....
Allerdings kann ich ja auch die Information worksheets("xy").Range(Cells() beim Auslesen der Daten wieder hinzufügen, oder ? Dann bräuchte ich nur die reinen Zahlenwerte ins Array einlesen.
Wenn ich dann das Ganze in einer Schleife für ca. 20 Diagramme anwende, rechnet sich Excel dann nicht zu Tode ?
Grüße,
Martin

AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 08:44:27
Beverly
Hi Martin,
mit meinem Code werden nur die reinen Zahlenwerte eingelesen, eben als Array, und nicht die Zellbezüge. Schau einfach mal ins Diagramm, wie die Werte dort eingetragen sind.
Was die Performance betrifft, dann würde ich dir empfehlen, für das Einlesen der Werte gleich mehrere Arrays (für jedes Diagramm eines) zu definieren und diese auf einen Ritt in dem Schleifendurchlauf zu füllen. Das hängt natürlich auch davon ab, wie dein Tabellenblatt aufgebaut ist. Wenn für alle Diagramme das selbe (oder ein ähnliches) Schema zutrifft, dürfte das kein Problem sein.
Bis später,
Karin

Anzeige
AW: Per VBA Daten zu einem Diagramm hinzufügen
24.08.2007 13:54:22
Martin
Hab's jetzt eben endlich mal geschafft, es auszuprobieren. Und Heureka, der Wald, den ich nicht sah, war riesig... ;)
Ich hab die ganze Zeit probiert, Zelladressen hinzuzufügen, was für ein Blödsinn - mit den Werten ist es natürlich schneller und sauberer!!!
Karin, ich danke dir vielmals für das Licht weg vom Irrweg... ;))
Viele Grüße,
Martin

289 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige