Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
672to676
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
672to676
672to676
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Chart / Diagramm bearbeiten ohne aktivieren

Chart / Diagramm bearbeiten ohne aktivieren
27.09.2005 16:34:47
Maike
Hallöchen, liebe VBA-Könner
Ich möchte gerne ein bereits erzeugtes Diagramm verändern, d.h. neue Reihen hinzufügen.
Ich habe bereits den gesamten Vorgang mit dem Excelrekorder aufgenommen und angepasst.
Allerdings wird hierbei ja immer mit aktiven Seiten usw. gearbeitet:
ActiveChart.SeriesCollection. blabla
Ich möchte aber das Diagrammblatt nicht aktivieren, sondern quasi passiv bearbeiten.
Wie spreche ich das an?
hab es so versucht :
Sheets("DiagrammName").ChartObjects(1).Chart. SeriesCollection...
oder:
Worksheets("Mappe6").ChartObjects(1).Chart. SeriesCollection...
oder
Charts("Motorkennfeld").ChartObjects(1).Chart. ...
Und irgendwie ist das wohl alles der letzte Schmuh
Hilfe!!!
Gruß Maike

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Chart / Diagramm bearbeiten ohne aktivieren
27.09.2005 17:00:46
Nepumuk
Hi,
ein Diagrammblatt ist ein Chart. Da kannst du dir den ganzen Schmu sparen:
Public Sub test1()
    Sheets("Diagramm1").SeriesCollection.Add _
        Source:=Worksheets("Tabelle1").Range("M1:M7"), Rowcol:=xlColumns
End Sub

Gruß
Nepumuk

Anzeige
AW: Chart / Diagramm bearbeiten ohne aktivieren
28.09.2005 08:21:29
Maike
Hallo Nepumuk
Ich mache es jetzt mit:
Sheets("Motorkennfeld").SeriesCollection.Add Source:=Worksheets("Verbrauchskennlinien").Range("A2:B7"), Rowcol:=xlColumns
Und es funtkioniert gut :-)
Dankeschön
Gruß Maike
AW: Chart / Diagramm bearbeiten ohne aktivieren
28.09.2005 09:02:15
Maike
Hallo
hab doch noch ein kleines Problem.
Mein Diagramm ist ein xyScatterSmooth Diagramm
wenn ich
Sheets("Motorkennfeld").SeriesCollection.Add Source:=Worksheets _("VerbrauchsKennlinien").Range(Cells(2, 1), Cells(5, 2)), Rowcol:=xlColumns
eingebe, bekomme ich die Fehlermeldung:
Anwedungs- oder objektdefinierter Fehler
Was mache ich nun schon wieder falsch?
Gruß Maike
Anzeige
AW: Chart / Diagramm bearbeiten ohne aktivieren
28.09.2005 09:20:27
Nepumuk
Hallo Maike,
ein xyScatterSmooth Diagramm hat keine Rowcol - Eigenschaft, sondern eine PlotBy - Eigenschaft. Ändere die Add - Methode so:
Sheets("Motorkennfeld").SeriesCollection.Add Source:=Worksheets _
    "VerbrauchsKennlinien").Range(Cells(2, 1), Cells(5, 2)), PlotBy:=xlColumns

Gruß
Nepumuk

AW: Chart / Diagramm bearbeiten ohne aktivieren
28.09.2005 09:53:44
Maike
Danke, ich probiere es mal aus
Gruß Maike
AW: Chart / Diagramm bearbeiten ohne aktivieren
28.09.2005 11:23:57
Maike
Also, ich bekomme es einfach nicht zum laufen mit der passiven variante
Im moment benutze ich deshalb alternativ folgende (funktionierende) Version mit "Activesheet"

Sub DiagrammKennlinien1()
i_y = 1
i_k = 3
i_j = 1
For i_z = 0 To 11     ' 12 neue Kennlinien einfügen
Sheets("Motorkennfeld").Activate
ActiveChart.SeriesCollection.NewSeries
With ActiveSheet.SeriesCollection(i_k)
.Name = "< " & i_kl(i_j)   ' Name aus Array auslesen, i_j von vorherigem code
' Die Daten stehen im ersten Durchlauf in Spalte A und B,
' im zweiten in D und E, im dritten in G und H usw...
' deswegen werden i_y und i_y + 1 benutzt, um diese auszuwählen
.XValues = "=Verbrauchskennlinien!R2C" & i_y & ": R40C" & i_y
.Values = "=Verbrauchskennlinien!R2C" & (i_y + 1) & ": R40C" & (i_y + 1)
End With
i_y = i_y + 3
i_j = i_j + 1
i_k = i_k + 1
Next
End Sub

Hier noch meine Versuche für passive ansteuerung:

Sub DiagrammKennlinien2()
i_y = 1
i_k = 3
i_j = 1
For i_z = 0 To 1
Sheets("Motorkennfeld").SeriesCollection.Add Source:=Sheets _
("VerbrauchsKennlinien").Range("A2: B5"), PlotBy:=xlColumns
'        Sheets("Motorkennfeld").SeriesCollection.Add
' oder:
'        Sheets("Motorkennfeld").SeriesCollection.NewSeries
'        With Sheets("Motorkennfeld")
'            .SeriesCollection(i_k).Name = "< " & i_kl(i_j)
'            .SeriesCollection(i_k).XValues = "=Verbrauchskennlinien!R2C" & i_y & ": R40C" & i_y
'            .SeriesCollection(i_k).Values = "=Verbrauchskennlinien!R2C" & (i_y + 1) & ": R40C" & (i_y + 1)
'        End With
i_y = i_y + 3
i_j = i_j + 1
i_k = i_k + 1
Next
End Sub

Irgendwie funktionieren diese Varianten nicht
Wenn mir irgendjemand (Nepumuk? ) weiterhelfen könnte wäre toll :-)
wenn nicht, dann benutze ich erstmal die Activesheet-Variante und arbeite mich in das andere später nochmal ein.
Trotzdem vielen Dank für die nette Hilfe. Und vielleicht findet ja doch noch jemand den Hauptfehler :-)
Gruß Maike
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige