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 
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