2017-11-07 5 views
1

Ich habe an einem Blatt gearbeitet, wo ich die Formel eines Diagramms bearbeiten muss.Laufzeitfehler: 1004 beim Ändern der Diagrammformel

Alles funktionierte gut, als ich es zuerst schrieb, aber jetzt kann ich nicht sogar VBA die Formel lesen lassen, obwohl es noch den Namen lesen kann. Ich weiß nicht, was das verursacht haben könnte.

Sub test() 
Dim ser As Series 

[irrelevant code] 

      With Worksheets("sheetX") 
       For Each ser In .ChartObjects("Chart 2").Chart.SeriesCollection 
       Debug.Print ser.Name 
       'prints the name without a problem 
       Debug.Print ser.Formula 
       'Run time error: 1004 Application or object defined error 

       [irrelevant code] 

-der Diagramm hat eine Formel, die ich in Excel bearbeiten können, aber nicht in VBA

-wenn ich das Diagramm schneiden und es zurück in alles fügen funktioniert alles plötzlich, ich kann nicht cut verwenden in VBA obwohl, weil es den gleichen Fehler zurückgibt.

+0

Was ist die Formel? – mooseman

+0

@mooseman es ist eine Standard-Diagramm-Formel im Einklang mit = Serie (range1, range2,1) Ich kann Ihnen die genaue morgen, wenn Sie möchten. –

+0

Ich kann Ihren Fehler nicht replizieren, daher nehmen Vityata und ich nur Stichproben an der Quelle Ihres Problems. – mooseman

Antwort

0

Können Sie diesen Code ausprobieren und sehen, ob es funktioniert? Einfach stellen Sie sicher, dass Sie ein Diagramm auf dem aktiven Blatt haben:

Option Explicit 

Public Sub TestMe() 

    Dim ser As Series 

    For Each ser In ActiveSheet.ChartObjects(1).Chart.SeriesCollection 
     Debug.Print ser.Name 
     Debug.Print ser.Formula 
    Next ser 

End Sub 

Als Vermutung, wahrscheinlich der Name sheetX ist etwas anderes oder den Namen des Diagramms geändert Chart 2 wird durch die Kopie + Paste geändert.

+0

Das würde nicht erklären, warum der Debug.Print ser.Name immer noch funktioniert. – mooseman

+0

@mooseman - Magie ist eine gute Antwort :) – Vityata

+0

Danke für die Antwort, ich muss bis morgen warten, um dies auszuprobieren. Soweit ich mich erinnern kann, blieb der Chartname zu allen Zeiten gleich –

0

Ich bin sicher, dass das Problem durch eine Eigenschaft des Arbeitsblattes die Diagramme verursacht wurden, wo auf.

Ich reparierte es, indem ich sie alle zu einem neuen Blatt bewegte und es einen Tag nannte.

Danke für die Hilfe!

Verwandte Themen