Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Diagramm in Excel mit Makro erstellen





Frage

Hallo Leute, ich hoffe, dass mir trotz Weihnachtstress jemand Zeit hat mir kurz zu helfen. Ich habe Probleme mit der Nomenklatur. Ziel des Makros: Ein Diagramm erstellen und entsprechend des Namens des aktiven Tabellenblatts benennen. Problem für mich: Ich schaff es nicht das Makro so umzubauen, dass statt "Tabelle1" die Variable s = Name des aktiven Tabellenblatts verwerndet wird. Hier das Makro: [code]Sub Diagramm_Auto() Dim s As String s = ActiveSheet.Name Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("Tabelle1"). _ Range("C11:F11,C21:F23,C26:F28"), PlotBy:=xlRows ActiveChart.SeriesCollection(1).Name = "=""Calcium""" ActiveChart.SeriesCollection(2).Name = "=""Magnesium""" ActiveChart.SeriesCollection(3).Name = "=""Natrium""" ActiveChart.SeriesCollection(4).Name = "=""Chlorid""" ActiveChart.SeriesCollection(5).Name = "=""Sulfat""" ActiveChart.SeriesCollection(6).Name = "=""Nitrat""" ActiveChart.Location Where:=xlLocationAsObject, Name:=s With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = s .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Datum" .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "mg/l" End With ActiveChart.HasLegend = True ActiveChart.Legend.Select Selection.Position = xlBottom ActiveChart.HasDataTable = False ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(7).Values = _ "=´Tabelle1´!R17C3:R17C6" ActiveChart.SeriesCollection(7).Name = "=""Elek. Leitfähigkeit bei 25°C""" ActiveChart.SeriesCollection(7).Select ActiveChart.SeriesCollection(7).AxisGroup = 2 ActiveChart.ChartArea.Select ActiveChart.Axes(xlValue, xlSecondary).Select ActiveChart.ChartArea.Select With ActiveChart .Axes(xlValue, xlSecondary).HasTitle = True .Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "µS/cm" End With End Sub [/code] Froh Weihnachten schon mal und ich warte auf ein kleines "Infogeschenk" ;-) von Euch Eleve

Antwort 1 von Eleve

p.s.

Das ganze sieht schlimmer aus als es ist.
Es geht wirklich nur um die richtige Nomenklatur.
Kurz wie muss ich die Variable einsetzen, damit in dieser Zeile
ActiveChart.SeriesCollection(7).Values = _
"=´Tabelle1´!R17C3:R17C6"


Tabelle1 durch den Namen des aktiven Tabellenblatts ersetzt wird.

Danke schon mal für Eure Mühe
Eleve

Antwort 2 von coros

Hi Eleve,

mal ungetestet, müsste der Befehl dann folgendermaßen laute:

ActiveChart.SeriesCollection(7).Values = _
"=´" & ActiveSheet.Name & "´!R17C3:R17C6"


Das Unterstrichene in dem Code ist die Änderung. Wobei ich jetzt nicht wirklich weiß, ob die Hochkommas, die in Deinem alten Befehl vor und hinter dem Text "Tabelle1" sein müssen. Aber ansonsten müsste es funktionieren, hoffe ich jedenfalls. Wenn nicht, melde Dich noch mal, dann versuche ich mal eben, Dein Diagramm nachzubauen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von Eleve

Hallo coros

vielen Dank! Wie immer superschnelle und kompetente Hilfe. Makro läuft nach Wunsch.

alles Gute

Michael

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: