Microsoft Excel

Herbers Excel/VBA-Archiv

Grafik-Datenbezüge in Absolutwerte umwandeln

Betrifft: Grafik-Datenbezüge in Absolutwerte umwandeln von: Werner Janz
Geschrieben am: 17.09.2004 10:22:59

Guten Tag,

ich möchte eine Datei aus einem Workbook in ein neues Workbook kopieren und bei
der Kopie die Bezüge auf die Qelldaten in Absolutwerte umwandeln.

Die Grafik selbst soll eine feste Zeitreihe ausweisen z.B. 09.2003 - 12.2004 und Monate, für die es noch keine Werte gibt, frei lassen. Das wird auch durch die Funktion =NV() erreicht.

Das Makro (steht unten) funktioniert ganz gut, wenn die letzten 4 Monate auf #NV gesetzt werden, aber es bricht ab, wenn die letzten 3 Monate auf #NV gesetzt sind.
Im Blatt "Umsätze" habe ich hierfür die Szenarios "Funktionier" bzw. "Funktioniert nicht" eingerichtet.

Kann jemand den Fehler in seiner Umgebung reproduzieren oder hat jemand eine Idee, woran es liegt (Wetter, Uhrzeit, Strompreis?..)

Erst einmal vielen Dank im Voraus für evtl. Lösungsvorschläge.

Werner

---------------------------------------------------------------
Makro Anfang
---------------------------------------------------------------

Option Explicit

Sub exp_Reichw_Test()

    Dim exp_wk1 As Workbook
    Dim src_wk1 As Workbook
    Dim ser_Cur As Series

    Dim rng_Src As Range, _
        cht_Exp As Chart, _
        iCol As Integer, iRow As Integer, _
        vDesc As Variant, vVal As Variant, _
        rng_Desc As Range
    
    Set src_wk1 = ThisWorkbook
    Set rng_Src = ThisWorkbook.Sheets("Umsaetze").Range("Ums_Daten")
    
    Set exp_wk1 = Workbooks.Add(xlWBATWorksheet)

    src_wk1.Charts("Reichweite").Copy after:=exp_wk1.Sheets(1)
    Set cht_Exp = exp_wk1.Sheets("Reichweite")
    
    With cht_Exp
        For Each ser_Cur In .SeriesCollection
        
            vVal = ser_Cur.Name
            ser_Cur.Name = vVal
            
            vVal = ser_Cur.XValues
            ser_Cur.XValues = vVal
            
            vVal = ser_Cur.Values
            ser_Cur.Values = vVal
            
        Next
    End With

End Sub


---------------------------------------------------------------
Makro Ende
---------------------------------------------------------------

Datei-Link
https://www.herber.de/bbs/user/10991.xls
  


Betrifft: AW: Grafik-Datenbezüge in Absolutwerte umwandeln von: Axel
Geschrieben am: 17.09.2004 12:27:47

Hallo Werner,

bgzl. der Länge der Array-Werte gibt es eine Beschränkung auf exakt 250 Zeichen.

Dein Makro steigt bei der Zuweisung der absoluten Datenwerte an Reihe "0" aus. Wenn die letzten vier Monate auf #NV stehen, ist die Länge der Einzelzeichen im 3. Argument der Datenreihe() (also der Wertebereich) 242.

Bei 3 Monaten #NV kommst du auf eine Länge von 256. Das macht Excel nicht mit.

Ich würde die Nachkommastellen beschneiden. Bei der Auflösung der Y-Achse reichen auch 3 oder 4 Stellen vollkommen aus. Dann hast du auch Luft für mehr als 16 Monate.

Gruß
Axel


  


Betrifft: AW: Grafik-Datenbezüge in Absolutwerte umwandeln von: Bert
Geschrieben am: 17.09.2004 13:12:00

Interessante Information diese Beschränkung, weißt du, wo das nachzulesen ist?

Bert


  


Betrifft: AW: Grafik-Datenbezüge in Absolutwerte umwandeln von: Werner Janz
Geschrieben am: 17.09.2004 13:40:49

Hallo Axel,

vielen Dank. Darauf wäre ich im Leben nicht gekommen.
Jetzt funktioniert es tadellos.

Schönes Wochenende noch.

Werner


 

Beiträge aus den Excel-Beispielen zum Thema "Grafik-Datenbezüge in Absolutwerte umwandeln"