Microsoft Excel

Herbers Excel/VBA-Archiv

Linie in der Diagramm-Legende ausblenden | Herbers Excel-Forum


Betrifft: Linie in der Diagramm-Legende ausblenden von: M.Bacher
Geschrieben am: 21.02.2012 15:07:10

Hallo zusammen,
Ich habe mir eine Excel-Datei zur Darstellung von Kurven aufgebaut. Sie wird durch ein externes Programm mit dessen Excel-Export-Funktion „gefüttert“. Ich nenne in diesem externen Programm den Excel-Dateinamen und das Programm erzeugt in der genannten Excel-Datei ein neues Tabellenblatt „Tabelle 1“. Die dort importierten Werte (Header und 2 Spalten mit x/y-Werten) ziehe ich mir durch
=WENN(ISTFEHLER(INDIREKT(ADRESSE(ZEILE(A1381);2;;;"Tabelle1")));"";INDIREKT(ADRESSE(ZEILE(A1381);2;;; "Tabelle1")))
in ein bereits vorhandenes Tabellenblatt „DATENVERARBEITUNG“. Vorverlinkt sind 10 mögliche Tabellenblätter. Eine weitere Tabelle wird durch das ext. Programm automatisch mit „Tabelle 2“ , die nächste mit „Tabelle 3“ usw. fortlaufend eingefügt.

Über eine weitere Berechnung in der Tabelle „DATENVERARBEITUNG“ gebe ich dann beispielhaft folgende Werte an das Diagramm ( in einem Tabellbenblatt „DIAGRAMM“) weiter:
=WENN(ISTFEHLER(MITTELWERT(E$2:E103));-10;MITTELWERT(E$2:E103))

Somit macht es mir bei fehlendem Tabellenblatt eine Kurve ins Diagramm die eine Gerade bei
y=-10 ausgibt. Da die Skalierung der y-Achse von 0-80 fest eingestellt ist, sieht man diese Kurven dann auch nicht. Kommt ein Tabellenblatt hinzu, ersetzt die Berechnung die "Gerade" bei -10 durch die realen Werte und stellt sie entsprechend dar. Der Legendeneintrag ist entsprechend auch kein Problem. Bis hierhin ist alles bestens! Problem ist nur die davor gesetzte Linie in der Legende. Sie hat ja eine voreingestellte Farbe und Stärke. Wie kann ich dies automatisch ausblenden oder die Kurvenfarbe "weiß" machen, wenn das entsprechende Tabellenblatt nicht vorhanden ist? Ich habe schon einiges hier durchgesucht, aber nicht das richtige gefunden.
Danke für Eure Hilfe.
Gruß Mario

  

Betrifft: AW: Linie in der Diagramm-Legende ausblenden von: Beverly
Geschrieben am: 21.02.2012 16:52:46

Hi Mario,

man kann die betreffenden Zeilen (Spalten) im Tabellenblatt ausblenden, dann werden sie im Diagramm/in der Legende nicht dargestellt.


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Linie in der Diagramm-Legende ausblenden von: M.Bacher
Geschrieben am: 22.02.2012 09:10:45

Hallo Karin, danke für Deine Antwort.

Wie könnte das aussehen, das es automatisch geht?

Auf "DATENVERARBEITUNG" gehören die Spalten E und F zur eingefügten Tabelle1. G,H zu Tabelle2, I,J zu Tabelle3, usw...
Wie müsste die Anweisung denn lauten wenn Tabelle1 (oder 2,3,4,usw.) nicht vorhanden ist, das die Spalten G,H automatisch ausgeblendet und wenn die Tabelle1 "importiert" wird, sich die Spalten einblenden??

Ich hatte jetzt noch einen anderen Ansatz:

Sub Linie1_weg()
    ActiveChart.Legend.Select
    ActiveChart.Legend.LegendEntries(2).LegendKey.Select
    With Selection.Border
        .Weight = xlThick
        .LineStyle = xlNone
    End With
    With Selection
        .MarkerBackgroundColorIndex = xlNone
        .MarkerForegroundColorIndex = xlNone
        .MarkerStyle = xlNone
        .Smooth = False
        .MarkerSize = 5
        .Shadow = False
    End With
    ActiveChart.ChartArea.Select
End Sub
Sub Linie1_da()
    ActiveChart.Legend.Select
    ActiveChart.Legend.LegendEntries(2).LegendKey.Select
    With Selection.Border
        .ColorIndex = 5
        .Weight = xlThick
        .LineStyle = xlContinuous
    End With
    With Selection
        .MarkerBackgroundColorIndex = xlNone
        .MarkerForegroundColorIndex = xlNone
        .MarkerStyle = xlNone
        .Smooth = False
        .MarkerSize = 5
        .Shadow = False
    End With
    ActiveChart.ChartArea.Select
End Sub
Wenn ich auf dem Tabellenblatt "DIAGRAMM" bin und starte die Makros, löscht sich die Linie entsprechend raus oder erscheint wieder. Leider geht das momentan nur per klick im Menü Makro ausführen. Wie kann das automatisch gehen, sobald ich das Tabellenblatt "DIAGRAMM" anklicke?

Gruß Mario


  

Betrifft: AW: Linie in der Diagramm-Legende ausblenden von: Beverly
Geschrieben am: 22.02.2012 09:50:00

Hi Mario,

jedes Tabellenblatt hat ein Activate-Ereignis - darin kannst du das betreffende Makro aufrufen und somit starten.

Ich meinte jedoch etwas anderes: nicht so wie dein Code in der Legende des Diagramms den Legendeneintrag auf "unsichtbar" bzw. "sichtbar" setzen sondern im Tabellenblatt, auf welches sich das Diagramm bezieht (wenn ich das richtig verstanden habe ist es das Tabellenblatt "DIAGRAMM"), die Spalten aus-bzw. einblenden.


GrußformelBeverly's Excel - Inn


Beiträge aus den Excel-Beispielen zum Thema "Linie in der Diagramm-Legende ausblenden "