Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1468to1472
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

Name für Datenreihe abhängig von aktiver Zelle (2)

Name für Datenreihe abhängig von aktiver Zelle (2)
25.01.2016 09:59:34
aktiver
Hallo,
ich möchte kurz eine Zusammenfassung geben, da mein ursprünglicher Thread (vom 18.01.16) im Archiv gelandet ist und ich über's Wochenende nun zwei Lösungen gefunden / bekommen habe (und weil ich mich bei Beverly noch bedanken möchte: Danke, Beverly, Deine Lösung funzt gut!) :-)
Hier meine ursprüngliche Anfrage:
Ich habe eine Tabelle mit tausenden von Messwerten und möchte blockweise Diagramme (x,y) erstellen. Dazu markiere ich von Hand die Zellen (in einer Zeile) mit den y-Werten, erstelle das Diagramm und möchte dann mit einem Makro die Formatierung (Skalierung etc.) machen. Das klappt so weit. Was mir jetzt partout nicht gelingt, ist für die jeweilige Datenreihe einen Namen aus Spalte 1 der markierten Zeile zu vergeben. Sprich, ich will für
activeChart.SeriesCollection(1).Name den jeweiligen Namen vergeben, der in
ActiveCell.Offset(0, -4).Select eingetragen ist. Der Name ist nicht immer in derselben Zelle, sondern immer in Spalte A der jeweils markierten Zeile. Ich hoffe, dies ist verständlich...
Zwischenstand:
Sub Dia_formatieren()
' Dia_formatieren Makro
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).XValues = "=Tabelle1!$E$2:$L$2"
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MinimumScale = 50
ActiveChart.Axes(xlCategory).MaximumScale = 100
ActiveChart.Axes(xlCategory).MajorUnit = 7
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScale = 0
ActiveChart.Axes(xlValue).MaximumScale = 3
ActiveChart.SeriesCollection(1).Name = Cells(ActiveCell.Row, 1)
End Sub
Das Makro läuft durch, ich möchte aber gerne, dass tatsächlich der Eintrag in Daten auswählen - Bearbeiten - Reihenname liegt. Denn wenn ich die erste Datenreihe erstellt und formatiert habe, ziehe ich die Markierung für das Diagramm nach unten, um weitere Datenreihen hinzuzufügen (ist je nach Bereich immer unterschiedlich groß, daher muss ich das von Hand machen). Diese neuen Datenreihen aktualisieren den Namen der Datenreihe nur, wenn tatsächlich im Feld Reihenname etwas eingetragen ist. Die bisherige Lösung benennt zwar den Reihennamen korrekt, trägt aber nicht z.B. =Tabelle1!$A$1541 (was ja jedes Mal in einer anderen Zeile liegen soll) ein.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name für Datenreihe abhängig von aktiver Zelle
25.01.2016 10:00:15
aktiver
Meine Lösung:
Sub Dia_formatieren()
' Dia_formatieren Makro
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).XValues = "=Tabelle1!$E$2:$L$2"
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MinimumScale = 50
ActiveChart.Axes(xlCategory).MaximumScale = 100
ActiveChart.Axes(xlCategory).MajorUnit = 7
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScale = 0
ActiveChart.Axes(xlValue).MaximumScale = 3
Dim Datname As Range
Set Datname = Cells(ActiveCell.Row, 1)
ActiveChart.SeriesCollection(1).Name = "=Tabelle1!" & Datname.Address
End Sub
Beverlys Lösung:
Sub DiaErstellen()
Dim chrDia As ChartObject
Set chrDia = ActiveSheet.ChartObjects.Add(ActiveCell.Left, ActiveCell.Top, 350, 200)
With chrDia.Chart
.ChartType = xlXYScatterLines
With .SeriesCollection.NewSeries
.Name = "=" & ActiveSheet.Name & "!" & Cells(ActiveCell.Row, 1).Address
.XValues = Range("E2:L2")
.Values = Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 12))
End With
With .Axes(xlCategory)
.MinimumScale = 50
.MaximumScale = 100
.MajorUnit = 7
End With
With .Axes(xlValue)
.MinimumScale = 0
.MaximumScale = 3
End With
End With
Set chrDia = Nothing
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige