Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

Umbenennen/Wiederansprechen von diagrammen in vba

Umbenennen/Wiederansprechen von diagrammen in vba
23.09.2008 11:38:00
diagrammen
Hallo,
ich habe folgendes Problem:
Ich möchte mir über ein Makro Diagramme zu bestimmten Daten aus verschiedenen Tabellenblättern erstellen lassen und diese Diagramme letztendlich nebeneinander formatiert in einem weiteren Tabellenblatt anzeigen lassen. Dazu habe ich einmal ein Makro, welches mir die Diagramme selbst erzeugt und in das entsprechende Tabellenblatt einfügt, und ein weiteres welches mir die dort abgelegten Diagramme dann sortieren soll.
Jetzt habe ich nur ein Problem, excel zählt die Diagramme intern durch, wie kann ich nun einem Diagramm einen festen Namen geben, und wie greife ich dann wieder auf dieses Diagramm zu? Kann mir dabei vielleicht jemand helfen?
ich habe es mit chart.add.name ="XXX" versucht, jedoch klappt das irgendwie nicht so ganz, bzw ich weiß nicht wie ich dann auf dieses Diagramm wieder zugreifen kann.
Vielen Dank im Voraus, René

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

Betreff
Datum
Anwender
Anzeige
AW: Umbenennen/Wiederansprechen von diagrammen in vba
23.09.2008 11:50:00
diagrammen
Hi Rene,
da wäre es gut deinen Code zum Erstellen der Diagramme zu kennen, aber vom Prinzip her kannst du das letzte erzeugte Diagramm so ansprechen:

Worksheets("Tabelle1").ChartObjects(Worksheets("Tabelle1").ChartObjects.Count).Name = "XYZ"




AW: Umbenennen/Wiederansprechen von diagrammen in
23.09.2008 13:31:45
diagrammen
Hallo Karin,
Vielen Dank für die Rasche Antwort,
mein code für ein solches Diagramm sieht folgendermaßen aus:
Sheets("Auswerttabelle1").Select
Range("A15:A36,D15:D36,G15:G36").Select
Range("G15").Activate
Charts.Add.name="Dia1"
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Source:=Sheets("Auswerttabelle1").Range( _
"A15:A36,D15:D36,G15:G36"), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""T-innen"""
ActiveChart.SeriesCollection(2).Name = "=""T-außen"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Diagramme 1" 'speichert diagramm in Tabellenblatt mit dem namen "Diagramme 1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Temperatur Upstream"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "rel. Radius"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Temp. [°C]"
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = 20
.MaximumScale = 120
.MinorUnit = 20
.MajorUnit = 20
.Crosses = xlCustom
.CrossesAt = 20
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScale = 0.2
.MaximumScale = 1
.MinorUnit = 0.2
.MajorUnit = 0.2
.Crosses = xlCustom
.CrossesAt = 0.2
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
Ich dachte jetzt, dass das Diagramm nun Dia1 heißen würde und ich das nun in einem weiteren Makro so wieder ansprechen könnte. Aber das funktioniert leider nicht, oder ich spreche es falsch an.
Vg
René
Anzeige
AW: Umbenennen/Wiederansprechen von diagrammen in
24.09.2008 08:01:51
diagrammen
Hi Rene,

Sub dia_erstellen()
Dim chDiagramm As ChartObject
Set chDiagramm = Worksheets("Diagramme 1").ChartObjects.Add(40, 40, 500, 400)
chDiagramm.Name = "Dia1"
With chDiagramm.Chart
.ChartType = xlXYScatterLines
.SetSourceData Source:=Sheets("Auswertetabelle1").Range("A15:A21,D15:D21,G15:G21"),  _
PlotBy:=xlColumns
.HasTitle = True
.ChartTitle.Characters.Text = "Temperatur Upstream"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "rel. Radius"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Temp. [°C]"
.HasLegend = True
.Legend.Position = xlTop
.SeriesCollection(1).Name = "=""T-innen"""
.SeriesCollection(2).Name = "=""T-außen"""
With .Axes(xlValue)
.MinimumScale = 20
.MaximumScale = 120
.MinorUnit = 20
.MajorUnit = 20
.CrossesAt = 20
End With
With .Axes(xlCategory)
.MinimumScale = 0.2
.MaximumScale = 1
.MinorUnit = 0.2
.MajorUnit = 0.2
.CrossesAt = 0.2
End With
End With
End Sub




Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige