Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Diagramm: per VBA Datenreihen aktualisieren
#1
Hallo,

ich habe eine Wetterdatenliste und zeige die Niederschläge in einem Diagramm an.

Die Datenreihen werden per Makro aktualisiert.
Hier das Makro hinter dem Diagramm:
Option Explicit

Private Sub Chart_Activate()                       ' Erstellen der Kurven beim Aktivieren des Diagramms
  '**************************************************
  '* beverly                                        *
  '* 06.09.10                                       *
  '* aktualisiert die Datenreihen im Diagramm       *
  '**************************************************
  Dim intReihe As Integer
  Dim strFormel As String
  Dim intSpalte As Integer
  Application.ScreenUpdating = False             ' beschleunigen durch Abschalten der Bildschirm-Aktualisierung
  With Tabelle7                                  ' VBA-Name der Datentabelle
     For intReihe = 1 To SeriesCollection.Count
        ' Y-Werte aus der Datenreihenformel
        strFormel = Mid(SeriesCollection(intReihe).Formula, InStrRev(SeriesCollection(intReihe).Formula, "!") + 1)
        intSpalte = .Range(Left(strFormel, InStr(strFormel, ",") - 1)).Cells(1).Column
        ' Y-Werte Bezugsspalte Zeile 4 bis Ende - Cells(Zeile, Spalte)
        SeriesCollection(intReihe).Values = "=" & .Range(.Cells(4, intSpalte), _
            .Cells(.Rows.Count, intSpalte).End(xlUp)).Address(ReferenceStyle:=xlR1C1, External:=True)
        ' X-WerteSpalte 2 - Zeile 4 bis Ende - Cells(Zeile, Spalte)
        SeriesCollection(intReihe).XValues = "=" & .Range(.Cells(4, 2), _
            .Cells(.Rows.Count, 2).End(xlUp)).Address(ReferenceStyle:=xlR1C1, External:=True)
     Next intReihe
  End With
  Application.ScreenUpdating = True              ' wiedereinschalten der Bildschirm - Aktualisierung
End Sub


VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15


Wenn ich nun das Diagramm-Blatt öffne, dann zeigt sich folgendes Bild:
   
Ich muß danach nur mit Rechtsklick "Datenreihen auswählen..." das Fenster aufrufen, dann sieht das Diagramm i.O. aus. Bis zum nächsten Mal, wenn ich ein anderes und dann wieder das Diagramm-Blatt aufrufe:
   
Antworten Top
#2
Die Daten sind so aufgebaut:

Ich will, daß das Diagramm gleich richtig erscheint.
Was läuft da falsch, was kann ich tun?

Das Diagramm der Außentemperaturen mit demselben Makro erscheint gleich richtig.
Hier ist die Datei:

.xlsb   Wetterdaten-Stunde - Forum.xlsb (Größe: 919,65 KB / Downloads: 10)
Antworten Top
#3
Hallo,

hat sich das schon jemand angeschaut und kann mir helfen?
Antworten Top
#4
Hallo Ralf,

ich kann Dir zwar nicht sagen, was die konkrete Ursache ist, aber füge mal vor dem Ende ein Calculate ein.
Irgendwie werden die Daten nicht korrekt berechnet.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Rabe
Antworten Top
#5
Hi,

(12.01.2016, 19:17)schauan schrieb: ich kann Dir zwar nicht sagen, was die konkrete Ursache ist, aber füge mal vor dem Ende ein Calculate ein.
Irgendwie werden die Daten nicht korrekt berechnet.

ich habe es versucht, das Verhalten ändert sich nicht.

Auch mit
Code:
Worksheets(Diagramm9).Calculate
   Worksheets("Niederschlag (2015)").Calculate

ändert sich nichts.
Antworten Top
#6
Hallo Ralf,

mal sehn, ob mir noch was einfällt. Unter 2016 hatte es was genützt Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste