Diagramm per VBA bearbeiten

19/03/2009 - 10:37 von Maja Meyers | Report spam
Hallo,

ich fülle Daten in eine Exceldatei aus Access heraus.
Die Exceldatei hat 2 Tabellen für Daten und 2 Diagrammblàtter mit
vorhandenen Diagrammen.
Das Füllen und formatieren der Daten ist kein Problem, ich komme aber
mit den Diagrammen nicht weiter.
Je nach Anzahl der Zeilen hat das Diagramm eine andere (angepaßte)
Datenquelle. Mit dem Makrorecorder habe ich die Anpassung der
Quellzeilen aufgezeichnet, kann damit aber in Access nichts anfangen

Das Excel Makro sieht so aus:

ActiveChart.PlotArea.Select
ActiveChart.SetSourceData Source:=Sheets("Daten").Range("B15:M37"),
PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "=Daten!R15C9:R37C9"
ActiveChart.SeriesCollection(1).Values = "=Daten!R15C3:R37C3"
ActiveChart.SeriesCollection(1).Name = "=""Tol -"""
ActiveChart.SeriesCollection(2).XValues = "=Daten!R15C9:R37C9"
ActiveChart.SeriesCollection(2).Values = "=Daten!R15C4:R37C4"
ActiveChart.SeriesCollection(2).Name = "=""Tol +"""
ActiveChart.SeriesCollection(3).XValues = "=Daten!R15C9:R37C9"
ActiveChart.SeriesCollection(3).Values = "=Daten!R15C13:R37C13"
ActiveChart.SeriesCollection(3).Name = "=""Z-Wert"""

in Access ist aber ActiveChart nicht bekannt - also habe ich es definiert:
Dim ActiveSheet As Object, ActiveChart As Object
Set ActiveSheet = objActiveWkb.Worksheets("Graphik-Z")
Set ActiveChart = ActiveSheet.ChartObjects("Diagramm 1")

ich kann nun Eigenschaften wie
ActiveChart.Parent.Name, ActiveChart.chart.name,
ActiveChart.chart.barshape ansprechen, mir fehlen aber Eigenschaften wie
Datasource oder SeriesCollection

Was muss ich tun, um auf diese Eigenschaften zugreifen zu können ?

tia Maja
 

Lesen sie die antworten

#1 Andreas Killer
19/03/2009 - 12:07 | Warnen spam
On 19 Mrz., 10:37, Maja Meyers wrote:

ich fülle Daten in eine Exceldatei aus Access heraus.


...
Das Excel Makro sieht so aus:


...
in Access ist aber ActiveChart nicht bekannt - also habe ich es definiert:


...
Was muss ich tun, um auf diese Eigenschaften zugreifen zu können ?


Warum schreibst Du das Makro nicht in Excel und rufst es aus Access
mit Application.Run auf?

Andreas.

Ähnliche fragen