Office: VBA Diagramm Problem

Helfe beim Thema VBA Diagramm Problem in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Excel - Profis ! Ich bin gerade am Verzweifeln und könnte echt eure Hilfe gebrauchen. Ich habe da ein File das ein Diagramm erstellen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Miautschik, 20. Juli 2011.

  1. Miautschik Neuer User

    VBA Diagramm Problem


    Hallo Excel - Profis !

    Ich bin gerade am Verzweifeln und könnte echt eure Hilfe gebrauchen.
    Ich habe da ein File das ein Diagramm erstellen sollte. Es sollte da drei Reihen erstellen abhängig von der Änderung in der B Spalte (Drei verschiedene Typen).
    Wann die erste, zweite und dritte Reihe aufhört hab ich in Strings abgespeichert.

    Wenn ich diese aber den folgenden Zeilen übergeben will kommt ein Fehler:

    ActiveChart.SeriesCollection(1).XValues = Worksheets("HWB und U Diagramme").Range(bestandsbereichXString)
    ActiveChart.SeriesCollection(1).Values = Worksheets("HWB und U Diagramme").Range(bestandsbereichYString)


    "Excel Laufzeitfehler 1004"


    Ich habe die datei dazugehängt.

    Kann mir jemand verraten was da vor sich läuft.
    Bin echt am ende und wäre sehr erfreut über jegliche Hilfe / Rat !

    Danke schonmal

    gesamter Code

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range) 
    
    
        
        
    
    Range("A:R").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:= _ 
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ 
            DataOption1:=xlSortNormal 
            
            
            
              
    
    End Sub 
    
    Sub zählen() 
         Dim Spalte As Range 
        Dim bestandlänge As Integer 
        Dim Bestand As Range 
        Dim bestandsbereichX As String 
        Dim bestandsbereichY As String 
        Dim neulänge As Integer 
        Dim Neu As Range 
        Dim neubereichX As String 
        Dim neubereichY As String 
        Dim sanierunglänge As Integer 
        Dim Sanierung As Range 
        Dim sbereichX As String 
        Dim sbereichY As String 
        Dim gesamtlänge As Integer 
        Dim bestandsbereichXString As String 
        Dim bestandsbereichYString As String 
        Dim neubereichXString As String 
        Dim neubereichYString As String 
        Dim sbereichXString As String 
        Dim sbereichYString As String 
        Dim diagram As Chart 
        
        
            Set Spalte = Worksheets("HWB und U Diagramme").Range("B:B") 
            
            bestandlänge = Application.WorksheetFunction.CountIf(Spalte, "Bestand") 
            bestandsbereichX = "F2:F" & bestandlänge + 1 
            bestandsbereichY = "D2:D" & bestandlänge + 1 
          
            
    
            neulänge = Application.WorksheetFunction.CountIf(Spalte, "Neubauplanung") 
            neubereichX = "F" & bestandlänge + 2 & ":F" & neulänge + bestandlänge + 1 
            neubereichY = "D" & bestandlänge + 2 & ":D" & neulänge + bestandlänge + 1 
          
      
              
            
    
        sanierunglänge = Application.WorksheetFunction.CountIf(Spalte, "Sanierungsplanung") 
           sbereichX = "F" & neulänge + bestandlänge + 2 & ":F" & neulänge + bestandlänge + sanierunglänge + 2 
           sbereichY = "D" & neulänge + bestandlänge + 2 & ":D" & neulänge + bestandlänge + sanierunglänge + 2 
            
            
            
            
            
            
            gesamtlänge = bestandlänge + neulänge + sanierunglänge 
              
              
        
            MsgBox ("Die Summe der drei Längen ergibt:" & gesamtlänge) 
            
            bestandsbereichXString = bestandsbereichX 
            bestandsbereichYString = bestandsbereichY 
            neubereichXString = neubereichX 
            neubereichYString = neubereichY 
           sbereichXString = sbereichX 
           sbereichYString = sbereichY 
            
            Charts.Add 
        ActiveChart.ChartType = xlXYScatter 
        ActiveChart.SetSourceData Source:=Sheets("HWB und U Diagramme").Range( _ 
            "A1:R152"), PlotBy:=xlRows 
        ActiveChart.SeriesCollection.NewSeries 
        ActiveChart.SeriesCollection.NewSeries 
        ActiveChart.SeriesCollection.NewSeries 
        MsgBox ("bestand " & bestandsbereichXString & " " & bestandsbereichYString) 
        ActiveChart.SeriesCollection(1).XValues = Worksheets("HWB und U Diagramme").Range(bestandsbereichXString) 
        ActiveChart.SeriesCollection(1).Values = Worksheets("HWB und U Diagramme").Range(bestandsbereichYString) 
        ActiveChart.SeriesCollection(2).XValues = Worksheets("HWB und U Diagramme").Range(neubereichXString) 
        ActiveChart.SeriesCollection(2).Values = Worksheets("HWB und U Diagramme").Range(neubereichYString) 
        ActiveChart.SeriesCollection(2).Name = "=""adnan""" 
        ActiveChart.SeriesCollection(3).XValues = Worksheets("HWB und U Diagramme").Range(sbereichX) 
        ActiveChart.SeriesCollection(3).Values = Worksheets("HWB und U Diagramme").Range(sbereichY) 
        ActiveChart.SeriesCollection(3).Name = "=""moste""" 
        ActiveChart.Location Where:=xlLocationAsObject, Name:="HWB und U Diagramme" 
    
        
                
    End Sub
    
    
    Danke


    Ps: geht den code mal mit F8 Schrittweise durch dann sehts ihr's am besten ![/code]
     
    Miautschik, 20. Juli 2011
    #1
  2. schatzi Super-Moderator
    Hallo!

    In Excel2010 läuft der Code in deiner Beispielmappe problemlos durch...
     
    schatzi, 20. Juli 2011
    #2
  3. Exl121150 Erfahrener User
    Hallo!

    Auch in Excel2007 läuft der Code in Deiner Beispielmappe problemlos durch...

    doch: dann habe ich das ganze auch mit Excel2003 probiert - und dort tritt das Problem auf. Ich habe daraufhin in der VBA-Hilfe nachgeschaut und konnte kein Problem entdecken.

    Dann bin ich jedoch auf des Rätsels Lösung gestoßen:
    In Deinem Arbeitsblatt "HWB und U Diagramme", das die Daten für die Diagramme enthält, hast Du 3 X-Bereiche und 3 Y-Bereiche definiert:
    X=F2:F35, Y=D2:D35
    X=F36:F88, Y=D36:D88
    X=F89:F152, Y=D89:D152
    Das stellt noch kein Problem dar für Excel2003, aber in der 1.Zelle des 1. und des 3. X-Bereiches hast Du eine leere Zelle deponiert. Dadurch kann offenbar Excel2003 den jeweiligen X-Bereich und den zugehörigen Y-Bereich nicht richtig verarbeiten. Wenn sich eine leere Zelle mitten im X-Bereich befindet, stellt das auch kein Problem dar - nur nicht am Anfang!!
    Ich habe in F2 und F89 eine Jahreszahl (1999) gegeben und habe sie Dir mit gelben Hintergrund versehen (damit Du die veränderte Stelle sofort siehst).
    Mit diesem so veränderten Datenbestand läuft das Makro auch unter Excel2003 problemlos.

    Die veränderte Excel-Datei habe ich Dir nachfolgend beigelegt. Dort habe ich auch das Makro etwas einfacher dargestellt.
     
    Exl121150, 20. Juli 2011
    #3
  4. Miautschik Neuer User

    VBA Diagramm Problem

    Hallo !

    Sorry für die späte Antwort doch ich bin euch echt sehr sehr dankbar.
    Ich dachte schon das Problem liegt am Code.

    Falls es euch interessiert ist hier die Ursache für diesen rätselhaften Fehler.
    In meinem richtigem Programm ändern sich die Datensätze also die anzahl der Zeilen variiert. Wenn es jetzt z.B. weniger werden hat Excel 2003 ein Problem da die angegebenen Datenreihen womöglich nicht mehr existieren.
    Komischerweise kann man diese Datenreihen verweise auch nicht ändern da Excel sofort eine Fehlermeldung ausgibt ehe es das Diagramm mit den nicht mehr existierenden Daten anspricht. Deshalb hab ich in meinem neuen Code die Diagrammfläche gelöscht und bei jedem Neugenerieren der Daten neu erschaffen. So ist es möglich auf Excel 2003.

    Hoffe das ich durch diesen Eintrag anderen Verrzweifelten weiterhelfen kann ! Danke an die Leute dich mir geholfen haben !

    Lg VBA Diagramm Problem *:p* VBA Diagramm Problem *:p*
     
    Miautschik, 27. Juli 2011
    #4
Thema:

VBA Diagramm Problem

Die Seite wird geladen...
  1. VBA Diagramm Problem - Similar Threads - VBA Diagramm Problem

  2. VBA Diagramm-Daten aktualisieren

    in Microsoft Excel Hilfe
    VBA Diagramm-Daten aktualisieren: Hallo, ich habe folgendes Problem. Ich habe eine Tabelle, die sich jeden Tag um eine Zeile automatisch erweitern soll mit dem aktuellen Datum und aktuellen Werten. Das funktioniert auch soweit....
  3. Diagrammfarbe gemäß Zellfarbe

    in Microsoft Excel Hilfe
    Diagrammfarbe gemäß Zellfarbe: Hallo zusammen, im Rahmen meiner Abschlussarbeit habe ich eine Frage an euch. Es geht um ein Tool in dem Kraftwerksdaten durch die Auswahl verschiedener Parameter verglichen werden können. In...
  4. EXCEL Horizontale Achse schneidet - Wert mit Zellbezug mittels VBA

    in Microsoft Excel Hilfe
    EXCEL Horizontale Achse schneidet - Wert mit Zellbezug mittels VBA: Hallo zusammen, als VBA-Neuling stehe ich vor einer für mich großen Herausforderung:confused:. Für ein Dashboard muss ich verschiedene Diagramme mit spezifischen Achsenwert (Horizontale Achse...
  5. VBA Diagramm aktualisieren

    in Microsoft Excel Hilfe
    VBA Diagramm aktualisieren: Hallo, ich versuche gerade per VBA mehrere Diagramme zu aktualisieren. Ich habe mal eine Beispieldatei angehängt um das näher zu erklären ohne vieler Worte. Die Spalten mit den Daten sind...
  6. Ausgewähltes Diagramm per VBA umbenennen

    in Microsoft Excel Hilfe
    Ausgewähltes Diagramm per VBA umbenennen: Hallo werte MoFs, ich würde gern ein Diagramm ganz normal auswählen und per VBA einen neuen Namen geben. Folgenden Code habe ich bisher, verstehe aber nicht so recht, wie ich nun das aktuell...
  7. bedingte Zellfarbe auf Diagramm übertragen

    in Microsoft PowerPoint Hilfe
    bedingte Zellfarbe auf Diagramm übertragen: Hallo zusammen, ich habe ein Diagramm erstellt, in dem die Zellfarbe über eine bedingte Formatierung per Drop Down ausgewählt wird. Ich möchte das die bedingte Zellfarbe dann auch im Diagramm...
  8. Diagramm über Werteliste per Makro erstellen

    in Microsoft Excel Hilfe
    Diagramm über Werteliste per Makro erstellen: Ich versuche per Makro ein Diagramm zu erstellen. Ich möchte die Werte der Kurve direkt als Liste in das Diagramm schreiben und nicht über einen Bezug auf einen Tabellenbereich. Ich habe für...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden