Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dynamische Diagramme - Activate Umgehen

Dynamische Diagramme - Activate Umgehen
02.01.2013 13:19:27
Alex
Liebes Forum,
seit langem bin ich freudiger Nutzer des Foren Archivs, aktuell sitze ich allerdings an einem Problem, welches per google nicht zu lösen ist.
Um die y-Achsen meines Diagramms automatisch skalieren zu können, habe ich einen ganz kurzen VBA Code geschrieben. Da sich die y-Werte wie zu erwarten mittels Formeln berechnen, erfolgt eine Überwachung per Calculate. Die Zellen P45 und P63 bilden dabei stets Unter- und Obergrenzen der y-Achse.
Kurze Übersicht:
Private Sub Worksheet_Calculate()
Call AchsenSkalierung
End Sub
Sub AchsenSkalierung()
Sheets("Yield Estimator").ChartObjects("Diagramm 5").Activate
ActiveChart.Axes(xlValue).MinimumScale = Sheets("Yield Estimator").Range("P45").Value
ActiveChart.Axes(xlValue).MaximumScale = Sheets("Yield Estimator").Range("P63").Value
End Sub
Klappt soweit wunderbar, allerdings ist das Diagramm mit einem Eingabetemplate verknüpft und die y-Werte von vielen Variablen abhängig. Ändern sich Daten im Eingabetemplate springt man nun immer wieder zum Diagramm, welches sich auf einem anderen Arbeitsblatt befindet.
Wie kann ich das Aktivieren des Objects umgehen und die Skalierung der y-Achse im Hintergrund durchlaufen lassen?! Sprich das "Activate" umgehen?
Über Hilfe würde ich mich sehr freuen! Viele Grüße, Alex

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Diagramme - Activate Umgehen
02.01.2013 13:33:29
Rudi
Hallo,
ungetestet.
Sub AchsenSkalierung()
With Sheets("Yield Estimator").ChartObjects("Diagramm 5")
.Axes(xlValue).MinimumScale = Sheets("Yield Estimator").Range("P45").Value
.Axes(xlValue).MaximumScale = Sheets("Yield Estimator").Range("P63").Value
End With
End Sub

Gruß
Rudi

AW: Dynamische Diagramme - Activate Umgehen
02.01.2013 14:08:09
Alex
Hi,
vielen Dank für die schnelle Antwort. So in die Richtung hatte ich es mir vorgestellt, klappt aber leider aus mir unerfindlichen Gründen nicht?! Von meinem Wissensstand aus sieht alles richtig aus.
Keine Punkte vergessen etc.
Fehlermeldung: Objekt unterstützt diese Eigenschaft oder Methode nicht (Fehler 438)
Vielleicht hilft das?!
Danke nochmal und Grüße, Alex

Anzeige
AW: Dynamische Diagramme - Activate Umgehen
02.01.2013 14:09:25
Alex
Hi,
vielen Dank für die schnelle Antwort. So in die Richtung hatte ich es mir vorgestellt, klappt aber leider aus mir unerfindlichen Gründen nicht?! Von meinem Wissensstand aus sieht alles richtig aus.
Keine Punkte vergessen etc.
Fehlermeldung: Objekt unterstützt diese Eigenschaft oder Methode nicht (Fehler 438)
Vielleicht hilft das?!
Danke nochmal und Grüße, Alex

Mappe hochladen. owT
02.01.2013 14:17:02
Rudi

AW: Mappe hochladen. owT
02.01.2013 15:09:28
Alex
Hi,
hier die stark abgespeckte Version, da in der vollständigen Mappe vertrauliche Daten vorhanden sind.
https://www.herber.de/bbs/user/83223.xlsm
Das Problem ist aber auch hier leicht zu erkennen, wenn man im Input Template den erwarteten Energieertrag ändert springt man automatisch immer wieder zum Yield Estimator, was sehr nervt. Die Achsenskalierung passt soweit.
Hoffe das hilft! Gruß, Alex

Anzeige
AW: Mappe hochladen. owT
02.01.2013 15:21:42
Rudi
Hallo,
  With Sheets("Yield Estimator").ChartObjects("Diagramm 1").Chart
.Axes(xlValue).MinimumScale = Sheets("Yield Estimator").Range("O9").Value
.Axes(xlValue).MaximumScale = Sheets("Yield Estimator").Range("O27").Value
End With

Gruß
Rudi

AW: Mappe hochladen. owT
02.01.2013 16:18:12
Alex
Wow, perfekt! Besten Dank - viel fehlte ja dann doch nicht mehr!
Viele Grüße, Alex

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige