Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Bestehendes Diagramm in Abhängigkeit eines Zellwertes anzeigen





Frage

Hallo, folgendes Problem: Ich habe mehrere bestehende unterschiedliche Diagramme. Steht in A1 eine 1, so soll das erste Diagramm angezeigt werden, steht in A1 eine 2 so soll das zweite Diagramm angezeigt werden usw. Kann man das auch ohne VBA lösen? Wie ist der benötigte VBA-Code? Vielen Dank Ralf

Antwort 1 von DukeNT

Hi Ralf,
geh in den VBA-Editor - Doppelklick auf "Diese Arbeitsmappe"
und kopiere folgenden Code ins neue Fenster

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address <> "$A$1" Then End
ActiveSheet.ChartObjects.Visible = False
Select Case Target
Case Is = "1": ActiveSheet.ChartObjects(1).Visible = True
Case Is = "2": ActiveSheet.ChartObjects(2).Visible = True
Case Is = "3":Activ.......(usw bis du alle deine Diagramme drin hast)
End Select
End Sub

Bei jeder Änderung in Zelle A1 wird geprüft welcher Wert drin steht und das entsprechende Diagramm angezeigt.
Gruß Niels

Antwort 2 von Beverly

Hi Ralf,

das kann man ohne VBA lösen.
Dazu benötigst du ein zusätzliches Arbeitsblatt (z.B. Tabelle2) für die Ablage der Diagramme. Formatiere die 1. Zeile dieses Arbeitsblattes so, dass sie die selbe Höhe wie deine Diagramme hat. Formatiere dann so viele Spalten wie Diagramme plus 1 dazu so breit, wie die Breite der Diagramme ist. Schiebe dann je ein Diagramm (beginnend ab Spalte B) in je solch eine Zelle. Definiere dann einen Namen, z.B. Grafiken, über Einfügen -> Namen -> Definieren. Bei Bezieht sich auf gibst du ein =INDEX(Tabelle2!$A$1:$E$1;Tabelle2!$A$2) - hier sind also in Spalte B:E Grafiken, Spalte A muss leer bleiben! In Zelle A2 der Tabelle2 schreibst du =Tabelle1!A1+1. In Tabelle1 (der Eingabetabelle) erstellst du aus der Steuerelement-Toolbox ein Image. In der Bearbeitungsleiste steht bei aktiviertem nun =EINBETTEN("Forms.Image.1";"") - schreibe stattdessen =Grafiken. Wenn du jetzt in A1 z.B. die Zahl 3 eingibst, wird in dem Image das Diagramm 3 angezeigt, welches in Tabelle2 auf Zelle D1 liegt.

Eine VBA-Lösung ist auch möglich, indem alle Diagramme passgerecht übereinander gelegt und ausgeblendet werden (kann man z.B. im Workbook_Open Ereignis machen. Sobald eine Zahl in A1 eingetragen wird, wird das betreffende Diagramm eingeblendet (kann man über das Worksheet_Change Ereignis auslösen), ein bereits sichtbares dagegen ausgeblendet.

Bis später,
Karin

Antwort 3 von ralf11

Hey

ich hab es nun ohne VBA, nach der von Karin beecshrieben Methode gelöst und es funktioniert. Vielen Dank.

Jedoch verschieben sich die einzelnen Elemente (Überschrift, Bezeichnung der x-,y-Achse, Legende....) innerhalb eines Diagramms nachdem es angzeigt wird wahllos. Nach mehrmaliger Auswahl ist das Diagramm völlig unformatiert und durcheinander, z.B. steht die Überschrift mitten im Zeichenfeld.
Ich habe keine Ahnung woran das liegen könnte.

Hat jemand eine Idee? Vielen Dank
Ralf

Antwort 4 von Beverly

Hi Ralf,

wähle überall im Diagramm die Automatischen Einstellungen ab.

Bis später,
Karin

Antwort 5 von ralf11

Hallo,
habe nun bei "Diagrammfläche formatieren" alle automatischen Einstellungen abgewählt.
Leider wird immer noch alles verschoben.

Hast du noch eine anderen Lösungsvorschlag?
Kann ich eigentlich ein Diagramm als Grafik/Bild formatieren und dann fest einer Zelle zuweisen/verankern, sodass ich über einen einfachen wverweis die Grafik ausgeben lassen kann?

Mit dem Diagramm muss ich später keine Operation durchführen, es soll lediglich der Verlauf dargestellt werden.

Vilen Dank
ralf

Antwort 6 von Beverly

Hi Ralf,

markiere das Diagramm, bei gedrückter Shift-Taste -> Bearbeiten -> Bild kopieren -> Bild einfügen und verfahre dann mit diesen Bildern genau so wie beschrieben.

Bis später,
Karin

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: