Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1192to1196
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

Active Chart

Active Chart
ChrisW
Hallo Leute,
ich habe folgendes Problem:
Ich habe mehrere Charts, die alle ausgeblendet sind.
Jetzt möchte ich eines ("CEEMEA_S-Curve_RS") wieder einblenden und dann aktivieren, da ich die Achsen an das aktuelle Datum anpassen muss.
Das mache ich folgendermassen:
ActiveSheet.Shapes("CEEMEA_S-Curve_RS").Visible = True 'Funktioniert
ActiveSheet.ChartObjects("CEEMEA_S-Curve_RS").Activate ' Fehlermeldung
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlCategory).Select
'......'
in der zweiten Zeile kommt es dann zur Fehlermeldung:
Run Time Error '1004'
Unable to get the ChartObjects property of the Worksheet class
Wie bekomme ich den Chart aktiviert, so dass die X-Achse ausgewählt werden kann?
Ich habe den Aktivier-teil des Makros aufgezeichnet, aber er lässt sich nicht ohne die Fehlermeldung abspielen.
Vielen Dank für Eure Hilfe
Chris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Active Chart
11.01.2011 11:41:20
Beverly
Hi Chris,
willst du die Achsen per VBA anpassen oder von Hand? Per VBA muss das Diagramm bzw. die Achse dazu nicht ausgewählt werden.


AW: Active Chart
11.01.2011 11:48:24
ChrisW
Hallo Karin,
wenn ich die Achse direkt ansprechen kann wäre das natürlich die bessere Lösung.
Wie spreche ich denn die Achse direkt an?
Bisher habe ich den Chart immer erst aktiviert und dann:
With ActiveChart.Axes(xlCategory)
.MinimumScale = SSdate ' Start Datum "01.07.2010"
.MaximumScale = EEdate ' End Datum "01.06.2015"
.CrossesAt = SSdate ' "01.07.2010"
End With
Die Aktivierung funktioniert übrigens ohne Fehlermeldung, wenn ich anstelle des Chart Namens die Chart nummer auswähle:
ActiveSheet.ChartObjects(7).Activate
Ich möchte aber eigentlich die einzelnen Charts definiert ansprechen können und dazu haben sie von mir Namen bekommen.
Vielen Dank für Deine Hilfe
Chris
Anzeige
AW: Active Chart
11.01.2011 13:12:06
Beverly
Hi Chris,
versuche es mal so (ungetestet):
    Dim intDia As Integer
For intDia = 1 To ActiveSheet.ChartObjects.Count
If ActiveSheet.ChartObjects(intDia).Name = "CEEMEA_S-Curve_RS" Then
With ActiveSheet.ChartObjects(intDia).Chart.Axes(xlCategory)
.MinimumScale = SSdate ' Start Datum "01.07.2010"
.MaximumScale = EEdate ' End Datum "01.06.2015"
.CrossesAt = SSdate ' "01.07.2010"
End With
Exit For
End If
Next intDia



AW: Active Chart
11.01.2011 13:50:05
ChrisW
Hallo Karin,
klar, so funktionierts. Danke.
Aber kann ich die Achsenskalierung direkt ansprechen ohne Chartaktivierung wie du anfangs vorgeschlagen hast?
Gruß
Chris
Anzeige
AW: Active Chart
11.01.2011 15:37:32
Beverly
Hi Chris,
hier wird nichts aktiviert - du könntest z.B. auch anstelle von ActiveSheet schreiben Worksheets("Tabelle1") und dich dabei auf einem völlig anderen Tabellenbatt befinden, dennoch würde der Code fehlerfrei funktionieren.


DANKE ;c)
11.01.2011 15:42:56
ChrisW
Hallo Karin,
wer lesen kann ....
Mein Fehler, hast ja recht.
Vielen Dank und einen schöbnen Tag noch.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige