Microsoft Excel

Herbers Excel/VBA-Archiv

Chart-Objekt von Daten "lösen"

    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

      


    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


      


    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


      


    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!


      


    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


      


    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