Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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
Inhaltsverzeichnis

Änderung Datenquelle für Diagramm über VBA

Änderung Datenquelle für Diagramm über VBA
Tom
Hallo,
habe probiert über folgenden Eingabe die Datenquelle eines Diagrammes mittels Angabe von Range und Cells dynamisch zu machen:
ActiveChart.SetSourceData Source:=Sheets("Data").Range(Cells(1, 13), Cells(DatZeile, 12 + DatSpalte))
bekomme aber eine Fehlermeldung: Anwendungs oder objektdefinierter Fehler
Was mache ich falsch, oder wie kann ich mittels VBA die Datenquelle über Variablen neu definieren?
Viele Grüße,
Tom
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 12:20:11
JogyB
Hallo Tom,
jetzt ungetestet, aber vermutlich ist das Sheet Data nicht aktiv und dann versuchst Du eine Range auf dem Sheet festzulegen, deren Zellen sich auf dem aktiven Arbeitsblatt befinden bzw. die im Falle eines Diagrammblattes gar nicht exisitieren.
With Sheets("Data")
ActiveChart.SetSourceData Source:=Range(.Cells(1, 13), .Cells(DatZeile, 12 + DatSpalte))
End With
Gruß, Jogy
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 12:33:40
Tom
Hallo Jogy
ich bekomme dann folgende Fehlermeldung:
Die Methode 'Range' für das Object Worksheet ist fehlgeschlagen
Kann das daran liegen, dass das Diagramm und die Daten dazu in 2 unterschiedlichen Tabellenblättern liegen.
Gruß, Thomas
Anzeige
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 12:50:26
JogyB
Hallo Thomas,
sollte kein Problem sein. Kannst Du eine Beispieldatei hochladen? Am besten den Code auf das konkrete Problem reduzieren (wobei der Fehler natürlich noch auftreten muss).
Gruß, Jogy
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 13:08:32
Tom
Hi Jogy,
Dein Hinweis war wohl doch richtig bzw. hat mich auf die richtige Spur gebracht.
Ich habe nun die Daten auf das gleiche Tabellenbaltt gelegt, wo das Diagramm auch ist.
Nun funktioniert es auch mit der Kombination Range(Cells(...)) und den Variablen innerhalb von Range.
Danke für Deine Hilfe und Gruß,
Tom
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 13:47:21
JogyB
Hallo Tom,
steht der Code in einem Tabellenblatt? Dann ist Beverlys Anmerkung richtig und vor dem Range muss noch ein Punkt.
Gruß, Jogy
Anzeige
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 13:33:22
Beverly
Hi Thomas,
da fehlt auf jeden Fall ein Punkt (.) vor Range im Code, der könnte den Fehler ausgelöst haben:
ActiveChart.SetSourceData Source:=.Range(.Cells(1, 13), .Cells(DatZeile, 12 + DatSpalte))



AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 13:43:55
JogyB
Hallo Beverly,
der fehlt definitv nicht. Der Bezug auf das Blatt ist durch das .Cells gegeben, der muss beim Range nicht mehr wiederholt werden. Ich habe in meinen Codes zig solcher Bezüge und kein einziger davon gibt einen Fehler.
Gruß, Jogy
Anzeige
außer natürlich...
17.09.2010 13:45:37
JogyB
der Code steht in einem Tabellenblatt. In dem Fall hast Du recht.
Gruß, Jogy
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 13:49:34
Beverly
Hi,
soweit ich das mitbekommen habe, kommt es auf die Excelversion an - einige tolerieren es, einige nicht.


AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 14:04:43
JogyB
Hallo Beverly,
so weit mir bekannt ist, hängt das eher vom Ort des Codes ab.
Wenn es nicht im Modul eines Tabellenblattes steht, funktioniert es. Range bezieht sich dann zwar eigentlich auf das aktive Blatt, jedoch nur, wenn sich durch die angegebenen Zellen nichts anderes ergibt. Quasi nach dem Motto "wenn der Programmierer zu faul ist etwas anzugeben, dann nehme ich halt das aktive Blatt"
Steht der Code jedoch im Modul eines Tabellenblattes, so ist Range definitiv Me.Range, egal was sich durch die Zellen ergeben würde - mit der Folge eines Fehlers, wenn man in meinem Codebeispiel den Punkt vor Range weglässt.
Excel 2003 und 2010 verhalten sich definitiv so... und meiner Erinnerung nach Excel 2000 auch.
Gruß, Jogy
Anzeige
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 14:52:59
Nepumuk
Hallo Jogy,
hab ich früher auch gedacht. Bis ich bei irgendeiner Methode / Eigenschaft damit in einen Fehler gelaufen bin. Aber frag mich nicht was das war. Auf alle Fälle kommt seitdem bei mir der Punkt wieder vorne dran. Sicher ist sicher !!! Bei ein paar tausend Zeilen Code spielt der eine Punkt auch keine Rolle mehr.
Gruß
Nepumuk
P.S. Mit der Excelversion hast sicher nichts zu tun.
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 15:09:31
Beverly
Hi Nepumuk,
ich kann mich definitiv daran erinnern, dass das Fehlen eines Punktes vor Range, wenn innerhalb des Ranges mit Cells gearbeitet und Bezug auf ein anderes Tabellenblatt genommen wird, in der einen Excel-Version einen Fehler ausgelöst hat und in der anderen nicht. Ist leider schon eine ganze Weile her und ich habe natürlich auch das Beispiel nicht mehr, aber ich glaube es war Excel-Version 2002, in der der Fehler ausgelöst wurde, und er trat auch auf 2 unterschiedlichen Rechnern mit eben dieser Version auf. Allerdings kann ich es jetzt mit dem Beispiel aus diesem Thread nicht nachvollziehen.


Anzeige
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 15:20:45
Nepumuk
Hallo Karin,
der Code von dem ich sprach lief unter allen Excelversionen (2000, 2002, 2003, 2007 und 2010). Und nur bei einer Methode / Eigenschaft gab es das Problem. Aber wollen wir uns nicht mit Haarspalterei aufhalten. :-) Ich hab daraus gelernt und mach jetzt den Punkt immer grundsätzlich dran. Das schadet nichts und das eine Byte kann ich gerade noch verkraften.
Wo man/frau wirklich kb's rausholen kann ist, die Leerzeilen im Code wirklich leer zu machen.
Gruß
Nepumuk
AW: Änderung Datenquelle für Diagramm über VBA
17.09.2010 15:45:52
Beverly
Hi Nepumuk,
nein, es geht gewiss nicht um Haarspalterei, du hast die eine Erfahrung gemacht und ich eine andere - das Fazit ist das selbe: seitdem der Fehler bei mir aufgetreten war, setze ich auch generell einen Punkt bei derartigen Codekonstrukten, frei nach dem Motto: "Vorsicht ist die Mutter der Porzellankiste" ;-).


Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige