AW: dynamische Namen auf Tabellenblätter beziehen
30.07.2008 13:10:06
Beverly
Hi Marc,
wenn es darum geht, ein Arbeitsblatt mit einem bereits vorhandenen dynamischen Diagramm zu kopieren und dann den Wertebereich an das neue Arbeitsblatt anzupassen, hast du nur die Möglichkeit, Namen für jedes Diagramm neu zu definieren und diese dann dem Wertebereich des Diagramms zuzuweisen. Hier ein Beispiel, wie man das prinzipiell machen könnte
Sub diagramm_naemnszuweisung()
Dim chDiagramm As Chart
Worksheets("Tabelle1").Copy After:=Sheets(2)
ActiveSheet.Name = "Tabelle" & Worksheets.Count
ActiveWorkbook.Names.Add Name:=ActiveSheet.Name & "X", RefersToR1C1:= _
"=OFFSET(" & ActiveSheet.Name & "!R9C1,0,0,COUNTA(" & ActiveSheet.Name & "!R9C1:R27C1), _
1)"
ActiveWorkbook.Names.Add Name:=ActiveSheet.Name & "Y", RefersToR1C1 _
:="=OFFSET(" & ActiveSheet.Name & "!R9C2,0,0,COUNTA(" & ActiveSheet.Name & "!R9C2:R27C2) _
,1)"
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
.SeriesCollection(1).XValues = "=" & ThisWorkbook.Name & "!" & ActiveSheet.Name & "X"
.SeriesCollection(1).Values = "=" & ThisWorkbook.Name & "!" & ActiveSheet.Name & "Y"
End With
Set chDiagramm = Nothing
End Sub
Wenn es mehr als nur 1 Datenreihe ist, musst du für jede Datenreihe einen eigenen Namen definieren und diesen dann jeder Datenreihe zuweisen.