habe schon öfters auf eurer Seite hilfreiche Tipps gefunden. Im Moment habe ich ein kleines Problemchen mit dem Anpassen eines Makros. Meine VBA-Kenntnisse sind bescheiden, aber ausbaufähig ;D.
Aufgabenstellung ist folgende: Ich habe in einer Exceldatei mehrerere Tabellblätter, die 100% gleich aufgebaut sind. Die Namen der Tabellenblätter sind: T1 = 1050, T3 = 950, ...
Nun habe ich imTabellenblatt "T1 = 1050" ein Diagramm erstellt und mit dem Makrorecorder aufgezeichnet.
Problem: Das Makro bezieht sich nur auf das Tabellenblatt "T1 = 1050" und lässt sich nicht mit den Daten des nächsten Tabelleblatt "T3 = 950" ausführen.
Wie muss ich das Makro anpassen, damit das Makro in dem Tabellenblatt ausgeführt wird welches gerade aktiviert ist? Das Makro sollte also unabhängig vom Namen des Tabellenblatts ausführbar sein.
Im voraus vielen Dank für eure Bemühungen und nun folgt noch mein aufgzeichnetes Makro:
Sub Test()
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=Sheets("T1 = 1050").Range("U30")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "='T1 = 1050'!R2C18:R2C24"
ActiveChart.SeriesCollection(1).Values = "='T1 = 1050'!R3C18:R3C24"
ActiveChart.SeriesCollection(1).Name = "='T1 = 1050'!R3C9"
ActiveChart.SeriesCollection(2).XValues = "='T1 = 1050'!R2C18:R2C24"
ActiveChart.SeriesCollection(2).Values = "='T1 = 1050'!R8C18:R8C24"
ActiveChart.SeriesCollection(2).Name = "='T1 = 1050'!R8C9"
ActiveChart.SeriesCollection(3).XValues = "='T1 = 1050'!R2C18:R2C24"
ActiveChart.SeriesCollection(3).Values = "='T1 = 1050'!R16C18:R16C24"
ActiveChart.SeriesCollection(3).Name = "='T1 = 1050'!R16C9"
ActiveChart.Location Where:=xlLocationAsObject, Name:="T1 = 1050"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Zeit (h)"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Verformung (mm)"
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlBottom
ActiveSheet.Shapes("Diagramm 23").IncrementLeft 138#
ActiveSheet.Shapes("Diagramm 23").IncrementTop 121.5
End Sub