Herbers Excel-Forum - das Archiv

Chart-Objekt von Daten "lösen"

Bild

Betrifft: Chart-Objekt von Daten "lösen"
von: Florian
Geschrieben am: 29.09.2003 20:55:57
Hallo!

Kann ich mit VBA z.B. die Punkte (1,2) und (2,4) in einem
Diagramm plotten, ohne, dass die Punkte selbst in einem
Worksheet (Zelle) gespeichert sind?

Bzw.: Kann man ein Diagramm von seiner Datenquelle "lösen"?
(So wie bei 'Werte einfügen')

Hintergrund:

Ich möchte mir eine sinnvollere Histogramm-Routine basteln.
Für die Anzahl der Töpfchen bei äquidistanter Verteilung der
'Bruchstellen' gibt's ein paar nette Regeln, z.B. "Sturges'
Formel (~1+log2(n) Töpfchen) etc.

Dazu muss ich irgendwo die Töpfchen und die Häufigkeiten
speichern, das möchte ich aber nicht in dem Sheet machen, wo das
Histogramm rein soll. Versteckte Hilfs-Sheets finde ich auch etwas
schlecht, vor allem, wenn's nachher viele Histogramme werden.

Eine Lösung wäre: neues Sheet nehmen, Chart zurechtbasteln, dann das
"Bild" des Charts wieder an die entsprechende Stelle packen.

Was tun?

Danke, Florian

Bild

Betrifft: AW: Chart-Objekt von Daten "lösen"
von: andre
Geschrieben am: 29.09.2003 21:18:29
hallo florian,
du kannst in einem diagramm statt der zellbezüge auch wertereihen einsetzen.
z.b. so in einer datenreihe: ={2.2.3}
die daten werden dabei durch punkt getrennt.
gruss andre
Bild

Betrifft: AW: Chart-Objekt von Daten "lösen"
von: Nepumuk
Geschrieben am: 29.09.2003 21:31:12
Hallo Florian,
Diagramm anklicken Shifttaste drücken und halten, dann in der Menüleiste Bearbeiten - Bild kopieren und in einer anderen Tabelle einfach wieder einfügen.
Gruß
Nepumuk
Bild

Betrifft: AW: Chart-Objekt von Daten "lösen"
von: Florian
Geschrieben am: 29.09.2003 21:59:42
Danke!

Das ist dann die Methode

ActiveChart.CopyPicture

das ginge schonmal!
Bild

Betrifft: AW: Chart-Objekt von Daten "lösen"
von: Florian
Geschrieben am: 29.09.2003 22:02:28
Hi Andre!

Danke für die Antwort...

Verstehe ich aber nicht ganz.

Die Frage ist, wie bekomme ich anstelle der Fragezeichen harte Werte
rein (Excel erwartet da ein Range-Objekt).

Gruß, Florian

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:= ??? , PlotBy:=xlColumns

ActiveChart.Location Where:=xlLocationAsObject

With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
Bild

Betrifft: AW: Chart-Objekt von Daten "lösen"
von: andre
Geschrieben am: 29.09.2003 22:41:32
hallo florian,
im prinzip so:
Sub Makro2()
' Makro2 Makro
' Makro am 29.09.2003 von wanderer aufgezeichnet
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle1"
ActiveChart.SeriesCollection.Add Source:=Range("a1")
ActiveChart.SeriesCollection(1).Values = "={2,2,3}"
End Sub

gruss andre
 Bild