Ich möchte den Namen der Diagrammserie mit einem Bereich in meinem Arbeitsblatt verknüpfen, aber nicht mit der gesamten Zeichenfolge in diesem Bereich. Anstatt den Namen mit einer Zelle zu verknüpfen, die "201601" enthält, soll der Serienname beispielsweise 2016 lauten. Ich habe versucht, Left (Zelle, 4) zu verwenden, während ich den Namen zugewiesen habe, aber es wird ein Fehler angezeigt.
Aktueller VBA-Code
Sub changeLinks()
For i = 1 To ActiveSheet.ChartObjects.Count
ActiveSheet.ChartObjects(i).Chart.SeriesCollection(1).Name = "=Left(" & Range("P18").Address(, , , True) & ",4)"
ActiveSheet.ChartObjects(i).Chart.SeriesCollection(2).Name = "=Left(" & Range("I18").Address(, , , True) & ",4)"
ActiveSheet.ChartObjects(i).Chart.SeriesCollection(3).Name = "=Left(" & Range("B18").Address(, , , True) & ",4)"
Next i
End Sub
Wie kann ich meinen Code ändern, um dies zu tun?
Antworten:
Wenn du anrufst
SeriesCollection.Name
, was Excel tut, aktualisiert dasSERIES()
Funktion, die die Serie definiert.SERIES()
Funktionen für Argumente können nicht akzeptiert werden. Es kann nur einen Bereich, einen benannten Bereich oder ein Zeichenfolgenargument akzeptieren.Sie müssen dies in zwei Schritten tun:
quelle
Sie müssen die Formel in eine andere Zelle einfügen. Geben Sie beispielsweise in P17 die folgende Formel ein:
=LEFT(P18,4)
Verwenden Sie dann P17 als Bereich, der den Seriennamen enthält (im Dialogfeld Daten auswählen). Wenn sich P18 ändert, ändert sich die Formel in P17 und auch der Serienname im Diagramm.
quelle