Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Microsoft Office Chart 11.0

Forumthread: Microsoft Office Chart 11.0

Microsoft Office Chart 11.0
04.08.2005 17:42:49
michael
hallo,
ich werke grade per VBA an einem chart (zwar in access, das dürfte in dem fall aber keinen unterschied machen) herum und bekomme es nicht wirklich hin.
zuerst mal der code (im endeffekt bekomm ich die daten dann aus einer mysql datenbank, momentan spiel ich noch mit array daten herum):
Dim ch As ChartSpace
Dim werte1(7) As Integer
Dim werte2(7) As Integer
Dim xachse(7) As Integer
Dim seriennamen(2) As String
seriennamen(0) = "Reihe 1"
seriennamen(1) = "Reihe 2"
werte1(0) = 1
werte1(1) = 2
werte1(2) = 3
werte1(3) = 4
werte1(4) = 5
werte1(5) = 6
werte1(6) = 7
werte2(0) = 4
werte2(1) = 3
werte2(2) = 2
werte2(3) = 5
werte2(4) = 7
werte2(5) = 8
werte2(6) = 9
xachse(0) = 1
xachse(1) = 2
xachse(2) = 3
xachse(3) = 4
xachse(4) = 5
xachse(5) = 6
xachse(6) = 7
Set ch = Me!diagram.Object
ch.Clear
ch.charts.Add
With ch.charts(0)
.Type = chChartTypeLineMarkers
.SetData chDimSeriesNames, ch.Constants.chDataLiteral, seriennamen
.SetData chDimCategories, ch.Constants.chDataLiteral, xachse
.SeriesCollection(0).SetData chDimValues, ch.Constants.chDataLiteral, werte1
.SeriesCollection.Add
.SeriesCollection(1).SetData chDimValues, ch.Constants.chDataLiteral, werte2
.Axes(0).Scaling.HasAutoMaximum = True
.Axes(0).Scaling.HasAutoMinimum = True
End With
ch.HasChartSpaceTitle = True
ch.ChartSpaceTitle.Caption = "Hallo"
ch.HasChartSpaceLegend = True
ch.ChartSpaceLegend.Position = chLegendPositionLeft
****************************************************************
****************************************************************
****************************************************************
wobei ich mir nicht sicher bin ob die werte richtig in das integrierte spreadsheet geschrieben werden, oder ob nur die achsenbeschriftung nicht passt.
ich erhalte auf jeden fall ein diagramm mit irgendwelchen achsenbeschriftungen (anscheinend zufällig).
irgendwelche ideen, was da nicht stimmen könnte?
mfg,
michael
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Microsoft Office Chart 11.0
04.08.2005 18:16:17
Ralf
Hallo Michael,
auf den ersten (grob überfliegenden) Blick würde ich sagen, Du fügst nur eine Datenreihe hinzu, und zwar SeriesCollection(1). Was ist mit der Collection(0)?
Ciao, Ralf
AW: Microsoft Office Chart 11.0
04.08.2005 21:20:29
michael
hmm, ich dachte, die erste (nullte) ist sowieso da (ist sie schließlich auch wenn man daten händisch eingibt).
außerdem habe ich beispiele gesehen mit nur einer datenreihe und da war auch von einem add nichts zu sehen.
ich habs jetzt gerade noch mal probiert, und ich dürfte mit meiner vermutung richtig liegen. wenn ich nämlich noch ein add einbaue, dann sehe ich in der legende 3 datenreihen.
sonst irgendwelche ideen?
mfg,
michael
Anzeige
AW: Microsoft Office Chart 11.0
05.08.2005 09:03:56
michael
hallo,
ich habe die lösung gefunden. die arrays die man mit setdata übergibt müssen anscheinend vom typ variant sein, dann klappt auch das automatische skalieren der achsen....
der funktionierende code:
Dim ch As ChartSpace
Dim werte1 As Variant
Dim werte2 As Variant
Dim xachse As Variant
Dim seriennamen(2) As String
seriennamen(0) = "Reihe 1"
seriennamen(1) = "Reihe 2"
werte1 = Array(1, 2, 3, 4, 5, 6, 7)
werte2 = Array(4, 3, 2, 5, 7, 8, 9)
xachse = Array("1", "2", "3", "4", "5", "6", "7")
Set ch = Me!diagram.Object
ch.Clear
ch.charts.Add
With ch.charts(0)
.Type = chChartTypeLineMarkers
.SetData chDimSeriesNames, ch.Constants.chDataLiteral, seriennamen
.SetData chDimCategories, ch.Constants.chDataLiteral, xachse
.SeriesCollection(0).SetData chDimValues, ch.Constants.chDataLiteral, werte1
.SeriesCollection.Add
.SeriesCollection(1).SetData chDimValues, ch.Constants.chDataLiteral, werte2
End With
ch.HasChartSpaceTitle = True
ch.ChartSpaceTitle.Caption = "Hallo"
ch.HasChartSpaceLegend = True
ch.ChartSpaceLegend.Position = chLegendPositionLeft
************************************************************************************
mfg,
michael
Anzeige
;

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