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

Ploten aus dem VBA

Ploten aus dem VBA
23.09.2005 14:15:27
Goran
Hallo
ich will eine Funktion im VBA schreiben, die mir aus einer Excel Tabelle einen Plot macht. Der Code siet wiefolgt aus und es bricht immer in der Zeile 8 ab. Wie soll ich die Achsendaten sonst definieren?
1 Sub Tabelle_Generieren()
2 Sheets.Add
3 Charts.Add
4 ActiveChart.ChartType = xlXYScatter
5 ActiveChart.SetSourceData Source:=Sheets("Tabelle3").Range("C1:C16"),
6 PlotBy _
7 :=xlColumns
8 ActiveChart.SeriesCollection(1).XValues = "=Tabelle3!R8C1:R16C1"
9 ActiveChart.SeriesCollection(1).Values = "=Tabelle3!R8C2:R16C2"
10 ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle3"
11 With ActiveChart
12 .HasTitle = False
13 .Axes(xlCategory, xlPrimary).HasTitle = False
14 .Axes(xlValue, xlPrimary).HasTitle = False
15 End With
16 End Su
Danke im Voraus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ploten aus dem VBA
23.09.2005 15:58:35
Dan
Hallo Goran,
versuch es so. Es arbeitet mit ChartObjects-Collection. Der eigentliche Chart ist dann durch diese Collection zugaenglich.
Die Source-Daten solen im Bereich A1:C10 sein.
Der neue Chart wird am Active-Sheet angelegt (Du hast frueher "Tabell3" gehabt, also pass da auf)
Gruss Dan, cz
Option Explicit

Sub Tabelle_Generieren()
Dim sh As Worksheet
Dim objChartObject As ChartObject
Dim objChart As Chart
Dim objSeries As Series
On Error GoTo Err_Tabelle_Generieren
Set sh = ActiveSheet ' Zeiger auf den ActiveSheet einstellen
Set objChartObject = sh.ChartObjects.Add(0, 0, 300, 200) ' chart Kontainer zugeben'
' und Zeiger auf ihn einstellen
Set objChart = objChartObject.Chart ' Zeiger auf den Chart im Kontainer einstellen
With objChart ' chart bearbeiten
.SetSourceData sh.Range("a1:b10") ' source-range einstellen
.ChartType = xlXYScatter
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
Set objSeries = .SeriesCollection.NewSeries ' new series-object zugeben
' und Zeiger auf ihn einstellen
With objSeries ' series-object bearbeiten
.XValues = sh.Range("a1:a10")
.Values = sh.Range("c1:c10")
.Name = "New Series"
End With
End With
' objChartObject.Delete ' und so wieder loeschen, falls noetig
Exit Sub
Err_Tabelle_Generieren:
If (VBA.Erl <> 0) Then
VBA.MsgBox Err.Description & " [line " & VBA.Erl & "]", vbCritical, "Error in " & "Tabelle_Generieren, [Number " & Err.Number & "]"
Else
VBA.MsgBox Err.Description, vbCritical, "Error in " & "Tabelle_Generieren, [Number " & Err.Number & "]"
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige