Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

CheckBox um Linien in einem Liniendiagramm darstellen

Forumthread: CheckBox um Linien in einem Liniendiagramm darstellen

CheckBox um Linien in einem Liniendiagramm darstellen
04.12.2024 22:43:51
ChimChim
Hallo Zusammen
Ich habe eine Exceldatei mit 39 Arbeitsblättern, auf den Arbeitsblättern 1-38 ist jeweils ein Diagramm mit X und Y Wert.
Im Arbeitsblatt 39 sind alle Diagramme zusammengeführt. Neben dem Diagramm habe ich für jedes Diagramm, genannt Hole, ein Kontrollkästen mit passenden Namen eingefügt. Nun bekomme ich es aber nicht hin damit mir die jeweilige Linie angezeigt wird wenn ich das Kontrollkästchen aktivere bzw andersrum.
ich habe folgendes Script eingefügt.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chkBox As checkBox
Dim holeNumber As Integer
Dim chartObj As ChartObject
Dim seriesCount As Integer
Dim chartName As String

' Überprüfen, ob die Änderung in den Kontrollkästchen erfolgt ist
On Error GoTo ErrHandler
If Not Intersect(Target, Me.CheckBoxes) Is Nothing Then
' Der Diagrammname ist "Diagramm1"
chartName = "Diagramm1"

' Durchlaufen der Diagramme im Arbeitsblatt
For Each chartObj In Me.ChartObjects
' Überprüfen, ob das Diagramm den angegebenen Namen hat
If chartObj.Name = chartName Then
' Diagramm mit dem entsprechenden Namen gefunden
' Bestimmen Sie die Anzahl der Serien im Diagramm
seriesCount = chartObj.chart.SeriesCollection.Count

' Durchlaufen der Kontrollkästchen Hole 1 bis Hole 38
For holeNumber = 1 To 38
' Kontrollkästchen für das aktuelle Hole suchen
Set chkBox = Me.CheckBoxes("Hole " & holeNumber)

' Überprüfen, ob das Kontrollkästchen aktiviert oder deaktiviert wurde
If chkBox.Value = 1 Then
' Wenn aktiviert, die zugehörige Serie sichtbar machen
If holeNumber = seriesCount Then
chartObj.chart.SeriesCollection(holeNumber).Format.Line.Visible = msoTrue
End If
Else
' Wenn deaktiviert, die zugehörige Serie unsichtbar machen
If holeNumber = seriesCount Then
chartObj.chart.SeriesCollection(holeNumber).Format.Line.Visible = msoFalse
End If
End If
Next holeNumber
End If
Next chartObj
End If
Exit Sub

ErrHandler:
' Fehlerbehandlung, falls erforderlich
MsgBox "Fehler bei der Verarbeitung der Kontrollkästchen!"
End Sub

kann mir jemand sagen wo mein Fehler liegt.
Danke im voraus.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Linien in einem Diagramm aus-/einblenden
05.12.2024 10:47:14
Beverly
Hi,

weshalb benutzt du das Worksheet_Change-Ereignis und nicht das Ereignis jeder der CheckBoxen? Außerdem: eine Datenreihe kann man ganz einfach nach diesem Prinzip .FullCategoryCollection(1).IsFiltered = False bzw. .FullCategoryCollection(1).IsFiltered = True ein- und ausblenden.
Für mehr Hilfe solltest du eine Beispielmappe hochladen.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: CheckBox um Linien in einem Liniendiagramm darstellen
06.12.2024 12:39:27
daniel
Hi
für das ganze brauchst du doch kein Makro
Excel hat die Funktion doch schon eingebaut.

Klicke im gesamten Diagramm auf die Legende.
dann erscheinen in der oberen rechten Ecke drei Symbole (Plus, Pinsel, Trichter)
wenn du auf den Trichter klickst, kannst du über Checkboxen auswählen, welche Daten angezeigt werden sollen.
Gruß Daniel
Anzeige
AW: Linien in einem Diagramm aus-/einblenden
06.12.2024 09:20:15
ChimChim
Hallo Beverly,
ich hab es versucht komm aber auf keinen grünen Zweig. Vielleicht sind meine Kenntnisse doch zu schlecht.
Ich hab eine Teil der Datei hochgeladen. Vielleicht könntest du nochmal drüber schauen und mir meinen Fehler schildern.

In Blatt 38 hab ich mal Beispieldaten eingefügt um des deutlich zu machen

DANKE


https://www.herber.de/bbs/user/174137.xlsm
Anzeige
AW: Linien in einem Diagramm aus-/einblenden
06.12.2024 12:10:00
ChimChim
Kann mir jemand weiterhelfen?
Also, etwas Zeit musst du...
06.12.2024 12:19:22
Beverly
... den Helfern schon lassen - man sitzt schließlich nicht den ganzen Tag vor dem Bildschirm und wartet nur darauf, dass jemand eine Frage stellt! Schließlich ist das Beantworten von Fragen nicht unser Job sondern wir helfen hier in unserer Freizeit!!!.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Linien in einem Diagramm aus-/einblenden
06.12.2024 12:13:27
Beverly
Hi,

du verwendest Formular-Steuerelemente und diese haben kein Change-Ereignis.

Folgendes Makro in ein Standardmodul:

Sub EinAusblenden()

Dim strReihe As String
Dim serReihe As series
Dim chrDia As Chart
Set chrDia = ActiveSheet.ChartObjects("Diagramm 1").Chart
strReihe = ActiveSheet.Shapes(Application.Caller).DrawingObject.Caption
With chrDia
'*************Fehlerbehandlung falls Datenreihe nicht vorhanden
On Error Resume Next
Set serReihe = .FullSeriesCollection(strReihe)
On Error GoTo 0
'*************
If Not serReihe Is Nothing Then
Select Case ActiveSheet.Shapes(Application.Caller).DrawingObject.Value
Case -4146
serReihe.IsFiltered = True
Case 1
serReihe.IsFiltered = False
End Select
Else
MsgBox strReihe & " ist nicht vorhanden"
End If
End With
End Sub


Mache dann auf jedes der Kontrollkästchen einen Rechtsklick und weise ihm dieses Makro zu - mehr ist dazu nicht notwendig. Den gesamten Code im Codemedul des Blattes "DiagrammZusammenfassen" kannst du löschen.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige