Formula - Unterschied Excel2003 Excel2007

Hallo Excel-VBA Experten

ich habe ein XY-Diagrammblatt mit 2 Datenreihen.
Reihe1:

=DATENREIHE(;Tabelle1!$A$1:blush:A$5;Tabelle1!$B$1:blush:B$5;1)

Reihe2:

=DATENREIHE(;(Tabelle1!$C$1:blush:C$5;Tabelle1!$C$7:blush:C$10);(Tabelle1!$D$1:blush:D$5;Tabelle1!$D$7:blush:D$10);2)

Wenn ich mir die Formeln in Excel2003 anzeigen lassen will mit

MsgBox ActiveChart.Seriescollection(1).Formula

bzw.

MsgBox ActiveChart.Seriescollection(2).Formula

dann funktioniert das problemlos.
Wenn ich das mit Excel2007 mache, klappt das nur für die erste Formel.
Bei der zweiten gibt’s einen Laufzeitfehler 1004:
„Anwendungs- oder objektdefinierter Fehler“.
Es hat vermutlich irgendwie damit zu tun, dass in der ersten Formel alle Datenpunkte aus einem Zellbereich kommen und in der zweiten Formel aus zwei Zellbereichen.

Ist das wieder mal so ein tolles von MS gewolltes „Feature“ oder schlicht und ergreifend ein Bug?
Und wie kann ich das umgehen?

Danke für gute Antworten,
Andreas

Sorry, vertan.
Die Probleme scheinen in meinem eigenen, etwas komplexen Code zu liegen. Ich muss noch weiter suchen.

Gruß, Andreas

Die Probleme scheinen in meinem eigenen, etwas komplexen Code
zu liegen. Ich muss noch weiter suchen.

Hallo Andreas,

ich bin recht sicher dir ist beim codieren/testen der selbe Mist wie
mir passiert :frowning:
Hättste mal .formulaLocal und nicht .Formula geprüft als der
1004 fehler auftrat.

Set S =ActiveChart.Seriescollection(1)

Formel Anzeige normal Anzeige bei Fehler
Msgbox S.Formula "=SERIES(...)" 1004 
Msgbox S.FormulaLocal "=DATENREIHE(...)" =DATENREIHE(...)" 
Msgbox S.FormulaR1C1 "=SERIES(...)" 1004 
Msgbox S.FormulaR1C1Local "=DATENREIHE(...)" "=DATENREIHE(...)" 

So wie ich mir das im Kopf zurechtrück um zu kapieren warum dieser
Fehler nur ab und zu auftritt. Ich gehe davon aus, wenn ich
eine Datenreihe mit „tabelle1!A1:A5“ bestückt habe usw. dann
zeigen mir auch alle vier Formula-Befehle etwas an.

Wenn aber Excel/Vba eingreift und in den Datenreihen
aus „tabelle1!A1:A5“ z.B. Wert 12,7, Wert 2,5 macht,
also einen Zellbereich in Werte umwandelt dann geschieht das.
Nur die „lokalen“ .Formulas zeigen noch was an.

Gruß
Reinhard

Hallo Andreas,

Hallo Reinhard,

Hättste mal .formulaLocal und nicht .Formula geprüft als der
1004 fehler auftrat.

Set S =ActiveChart.Seriescollection(1)

Formel Anzeige normal Anzeige bei
Fehler
Msgbox S.Formula „=SERIES(…)“ 1004
Msgbox S.FormulaLocal „=DATENREIHE(…)“
=DATENREIHE(…)"
Msgbox S.FormulaR1C1 „=SERIES(…)“ 1004
Msgbox S.FormulaR1C1Local „=DATENREIHE(…)“
„=DATENREIHE(…)“

So wie ich mir das im Kopf zurechtrück um zu kapieren warum
dieser
Fehler nur ab und zu auftritt. Ich gehe davon aus, wenn ich
eine Datenreihe mit „tabelle1!A1:A5“ bestückt habe usw. dann
zeigen mir auch alle vier Formula-Befehle etwas an.

Wenn aber Excel/Vba eingreift und in den Datenreihen
aus „tabelle1!A1:A5“ z.B. Wert 12,7, Wert 2,5 macht,
also einen Zellbereich in Werte umwandelt dann geschieht das.
Nur die „lokalen“ .Formulas zeigen noch was an.

ich hab’s jetzt noch mal mit Excel 2007 an einer ganz primitiven Mappe getestet, nur 2 Datenreihen und völlig ohne VBA-Code.
Dann nur im Direktfenster im VBA-Editor die MsgBox(en) von oben eingegeben. Schon da passiert genau das, was du oben beschreibst.
Das passiert also auch ohne dass irgend eine Umwandlung in Werte durch VBA erfolgt.

Grübelnde Grüße
Andreas

Gruß
Reinhard