AW: AktiveSheet Konvention
13.02.2014 15:41:14
Härte10
Zu meinem eigentlichen Problem
Ich habe ein Arbeitsblatt mit Wertebereichen und 2 Diagrammen mit jeweils 3 Graphen (Kurven).
Eine feste Kurve und 2 (polynome) Trendlinien mit wechselnder Anzahl an Wertepaaren, also dynamischen benannten Bereichen.
Im Originalsheet stehen als xvalue= 'sheet1'!X1wert und value= 'sheet1'Y1wert etc.
Beim kopieren werden die benannten Bereiche zwar übernommen, im Diagramm aber in absolute Adressen umgewandelt also zB. xvalue = 'sheet1''!$C$24:$F$24
Um sie wieder zu zuweisen habe ich folgendes Makro erstellt. Excel 2010
---------------------------------------
Option Explicit
Sub DynKurve()
' DynKurve Makro
ActiveSheet.Unprotect
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Name & "!x1value"
ActiveChart.SeriesCollection(1).Values = ActiveSheet.Name & "!y1value"
ActiveChart.SeriesCollection(2).XValues = ActiveSheet.Name & "!x2value"
ActiveChart.SeriesCollection(2).Values = ActiveSheet.Name & "!y2value"
ActiveSheet.ChartObjects("Diagramm 3").Activate
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Name & "!x1value"
ActiveChart.SeriesCollection(1).Values = ActiveSheet.Name & "!y1value"
ActiveChart.SeriesCollection(3).XValues = ActiveSheet.Name & "!x2value"
ActiveChart.SeriesCollection(3).Values = ActiveSheet.Name & "!y2value"
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFormattingCells:=True
End Sub
-----------------------------------
Das funktioniert nur wenn ich das kopierte Blatt --- zB. "sheetName (2)" in "sheetn2" oder "irgendwas" umbenenne. Mit Bindestrich"-" oder "()" im Namen funktioniert es nicht.
Ich hätte nur gerne gewußt warum das so ist.
Werde jetzt mal versuchen das ohne Activate und Select zu konstruieren.