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

Graph ein-und ausblenden

Graph ein-und ausblenden
11.12.2018 08:30:38
Christian
Moin alle zusammen,
über eine Zelle möchte ich zwei Diagramme ein -bzw. ausblenden lassen aber ich bekomme die Fehlermeldung "Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen"?
Wo liegt mein Fehler? Vielen Dank und beste Grüße
Christian
Private Sub Worksheet_Change()
Dim MSN_92 As ChartObject
Dim MSN_85 As ChartObject
Set MSN_92 = ActiveSheet.ChartObjects(11)
Set MSN_85 = ActiveSheet.ChartObjects(10)
If Worksheets("Graph").Range("G10").Value = "92" Then
ActiveSheet.ChartObjects(11).Visible = True
ActiveSheet.ChartObjects(10).Visible = False
ElseIf Worksheets("Graph").Range("G10").Value = "85" Then
ActiveSheet.ChartObjects(11).Visible = False
ActiveSheet.ChartObjects(10).Visible = True
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Graph ein-und ausblenden
11.12.2018 10:30:28
Karl-Heinz
Hallo Christian,
beim Worksheet_Change-Objekt gehört das Target-Element dazu. Nehme an, dass das der Fehler ist.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$10" Then
With ActiveSheet
Select Case Target.Value
Case "92"
.ChartObjects(11).Visible = True
.ChartObjects(10).Visible = False
Case "85"
.ChartObjects(11).Visible = False
.ChartObjects(10).Visible = True
End Select
End With
End If
End Sub
Das o.a. Beispiel regiert, wenn sich im Feld G10 was ändert.
viele Grüße
Karl-Heinz
Danke
11.12.2018 11:34:17
Christian
Vielen Dank Karl-Heinz
Anzeige
Getestet - Funktioniert leider nicht
11.12.2018 12:09:33
Christian
Auf dem ersten Blick sah die die Funktion sehr gut und schlüssig aus. Im Test funktioniert Sie aber leider nicht.
Ich habe Sie im Tabellenblatt eingebunden, auf dem auch die Diagramme zu finden sind. Aber es gibt keine Reaktion. Muss ich gewisse Formate berücksichtigen?
AW: Getestet - Funktioniert leider nicht
11.12.2018 14:53:33
Karl-Heinz
Hi Christian,
das tut mir leid. Na schauen wir mal:
Hast Du die Sub in das Klassenmodul des betreffenden Tabellenblattes eingefügt? Es kommt nicht in ein normales Modul. Aber das hattest Du ja geschrieben.
Die Funktion wird angesteuert, wenn auf dem Blatt in Zelle G10 etwas geändert wird.
Wenn Du einen Haltepunkt dort reinsetzt, wird die Funktion dann angesteuert? Wenn ja mal mit F8 durchgehen. Je nach Wert wird in den einen oder anderen Case verzweigt. Dort werden dann die Grafiken aus/eingeblendet. Das konnte ich allerdings nicht testen, weil ich die ja habe.
PS: Wenn bei jeder Änderung geschaut werden soll, was in G10 steht, muss es anders programmiert werden, aber das macht m.E. keinen Sinn.
Ansonsten mal genau beschreiben, was passiert. Funktioniert nicht ist keine besonders glückliche Aussage.
VG KH
Anzeige
AW: Getestet - Worksheet_Calculate
11.12.2018 16:02:17
Christian
Nach ein wenig rumprobieren habe ich das Problem gelöst. Also mit deiner Funktion konnte ich arbeiten, wenn ich den Wert direkt in die Zelle eingegeben haben. Aber der Wert kam über den Filter einer Pivot Tabelle. Das heisst ich habe den Wert mit =G10 übertragen. Dann klappte die Funktion nicht. Im Netz habe ich mich schlau gemacht und bin auf folgende Codestruktur gekommen, welche genau so funktioniert wie ich Sie brauche.
Vielen Dank für deinen Support Karl-Heinz :)
Private Sub Worksheet_Calculate()
If Range("$R$1").Value = 92 Then
ChartObjects(6).Visible = True 'MSN85
ChartObjects(7).Visible = False 'MSN92
ChartObjects(8).Visible = False 'MSN65
ChartObjects(9).Visible = False 'MSN58
ElseIf Range("$R$1").Value = 85 Then
ChartObjects(6).Visible = False
ChartObjects(7).Visible = True
ChartObjects(8).Visible = False
ChartObjects(9).Visible = False
ElseIf Range("$R$1").Value = 65 Then
ChartObjects(6).Visible = False
ChartObjects(7).Visible = False
ChartObjects(8).Visible = True
ChartObjects(9).Visible = False
ElseIf Range("$R$1").Value = 58 Then
ChartObjects(6).Visible = False
ChartObjects(7).Visible = False
ChartObjects(8).Visible = False
ChartObjects(9).Visible = True
End If
End Sub

Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige