Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
276to280
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
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

active chart

active chart
04.07.2003 17:14:56
michael
Hallo Forum,
wie kann ich ein einmal gewähltes Diagramm (ActiveChart) im späteren Verlauf eines Macros wieder aufrufen (zwischenzeitlich ist es nicht mehr active).
Ich habe mehrere Charts in einem Arbeitsblatt. Die heißen üblicherweise Tabelle 1 diagramm 1 usw. wie ich über die MsgBox herausfinden konnte.
Set ac = ActiveChart
MsgBox ac.Name '(so konnte ich den Namen herausfinden)
Set ac = ActiveChart.Name '(geht nicht)
oder:
Set ac = ActiveChart
Set acn = ac.Name 'object fehlt???
das problem ist später das Chart wieder zu selctieren oder zu activieren (was muss es denn?)
ac.Select oder
ac.Activate
ActiveSheet.ac.Select oder .Activate
kommen immer Laufzeitfehler zu denen die Hilfe nix weiß..
oder ich versuche nur auf eine eigenschaft zuzugreifen (die möchte ich eigentlich auch bearbeiten)
ac.SeriesCollection(1).Select
Laufzeitfehler 1004
Kann mir jemand dabei helfen??
Danke Michael

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

Betreff
Datum
Anwender
Anzeige
AW: active chart
04.07.2003 21:50:39
michael
Hallo ihr 3,
vielen Dank für eure Hilfe! :-)
Ich habe die Lösungen von Jens und Chris getestet. Die Lösung von Thoams werde ich gleich testen.
Beide funktionieren! Super!
Ich habe zuerst die von Jens getestet - alles ok
Anschließend die von Chris - auch alles ok
Als ich dann nochmals die Zeilen von Jens laufen ließ kam ein Fehler!? :-(
Fehler beim Kompilieren - Object erforderlich
dasselbe bei
Set ac = ActiveChart
MsgBox ac.Name
was vorher auch funktionierte!?
Bei einer neuen Mappe und neuem Diagramm funktionierten die Zeilen von Jens wieder.
Irgendwie scheint das Macro von Chris die Eigenschaft vom Diagramm als Objekt zu verändern - kann das sein? Habt ihr eine Idee woran das liegen könnte?
Nochmals vielen Dank
Michael

Anzeige
AW: active chart
04.07.2003 19:01:39
Thomas Risi
Hallo Michael
Versuch's mal so ...


Option Explicit
Dim myChart As Excel.ChartObject
Sub Irgendwas1()
    
    Set myChart = Sheets("Tabelle1").ChartObjects(1)
    
    ' oder so ...
    
    'If Not ActiveChart Is Nothing Then
        'Set myChart = ActiveChart.Parent
    'End If
    
    ' oder so ;-)
    
    'If Sheets("Tabelle1").ChartObjects.Count > 0 Then
    
        'Dim i As Long
    
        'For i = 1 To Sheets("Tabelle1").ChartObjects.Count
        
            'If Sheets("Tabelle1").ChartObjects(i).Chart.Name = ActiveChart.Name Then
                'Set myChart = Sheets("Tabelle1").ChartObjects(i)
                'Exit For
            'End If
            
        'Next i
    
    'End If
    
End Sub
Sub Irgendwas2()
    If Not myChart Is Nothing Then
    
        'MsgBox myChart.Name
        
        myChart.Select
        myChart.Activate
        
    End If
    
End Sub

     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Thomas
Risi Thomas Softwareentwicklung

Anzeige
AW: active chart
04.07.2003 18:52:42
Jens
Hallo
Ist nicht ganz so einfach das bei einen Chart im tabellenblatt zu verstehen.
Ebenen Reihenfolgen
Tabelle -> Chartobject -> Chart -> SeriesCollection
Daraus ergibt sich diese möglich Weg:
Set AC = ActiveChart.Parent '<- Also das Chartobject Speichern das heist nämlich "Diagramm 1"
AC.Activate
Ohne Activate arbeit!
AC.Chart.SeriesCollection.Value = "Tabell1X!A1:A10"
Gruß Jens

AW: active chart
05.07.2003 18:12:20
michael
Hallo Jens,
kannst du mir bitte noch einmal helfen?
Ich hab deine Variante
'Ohne Activate arbeit! versucht
AC.Chart.SeriesCollection.Value '= "Tabell1X!A1:A10"
hier muß ich wohl den Datenbereich des Diagramms verwenden
AC.Chart.SeriesCollection(1).Select
'diese Variante von mir geht nicht - warum?
Viele Grüße
Michael

Anzeige
AW: active chart
06.07.2003 21:16:00
Jens
Hallo
Hier hilft dir der Makrorecorder sehr gut weiter. (Extras/Makros/Aufzeichnen)
Mir war auch ein kleiner Fehler unterlaufen, habe die (1) vergessen.
AC.Chart.SeriesCollection(1).Value = "Tabell1X!A1:A10"
AC.Chart.SeriesCollection(1).Select
'diese Variante von mir geht nicht - warum? --> weis ich jetzt so auf die schnelle nicht. Wie geschrieben braucht man ein Diagramm nicht Activieren um veränderungen an diesen vorzunehmen.
Wenn du die Diagramme per VBA neuerstellst, würde ich diesen direkt nach dem erstellen, dann wenn sie noch aktiv sind, einen selbst gewählten Namen geben, über diesen kannst du die Charts dann ansprechen.
Gruß Jens

Anzeige
AW: active chart
04.07.2003 18:12:24
ChrisL
Hi Michael
Mit Object habe ich es auch nicht geschafft, obwohl mir dies auch nicht logisch ist. Nachstehend eine Krücke...
Option Explicit
Public AC As String

Sub Chart_definieren()
AC = Right(ActiveChart.Name, Len(ActiveChart.Name) - Len(ActiveSheet.Name) - 1)
End Sub


Sub Chart_wieder_aktivieren()
ActiveSheet.ChartObjects(AC).Activate
End Sub

Gruss
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige