Hallo ins Forum
ich benötige eure Hilfe!!!
In einem Diagramm, in meinem Falle Balken werden durch anklicken einer dargestellten Farbe die gleichen Farben in den restlichen Datenreihen ebenfalls markiert.
Die hat den Vorteil, dass man die zugehörige Reihe in der Tabelle und in allen Balken im Diagramm erkennt.
Ich möchte nun alle nicht gewählten Farben in den Hintergrund "drücken/dimmen".
hierzu habe ich eine Datei angehängt die das, so hoffe ich, einigermaßen gut beschreibt.
[
attachment=50808]
Freu mich sehr auf Unterstützung.
VG Uwe
Hallo
Den Code in ein algm. Modul und einem Button zuweisen.
Code:
Sub Makro2()
Dim z, strAktiv As String
If TypeName(Selection) = "Series" Then
strAktiv = Selection.Name
For Each z In ActiveChart.SeriesCollection
If z.Name = strAktiv Then
z.Format.Fill.Transparency = 0
Else
z.Format.Fill.Transparency = 0.8
End If
Next z
End If
End Sub
Gruß Elex
Hi,
noch besser: man weist dieses Makro dem Chart_Select-Event zu.
Aber daran denken, die Balken/Säulen vorher von "Füllung"-->"Automatisch" auf "Füllung"-->"einfarbige Füllung" umzustellen.
Hallo Elex,
vielen Dank
, probiere ich gleich mal aus :)
VG Uwe
Hallo Helmut,
ich bin in VBA nicht fit ...
Kannst Du mir kurz beschreiben, wie ich das Makro dem Chart select Event zuweisen kann?
Eventuell kannst Du es in die vorhandene Datei einbauen damit ich es besser nachvollziehen kann.
VG Uwe
Hi Uwe,
das was ich vorgeschlagen habe, funktioniert leider nur bei Diagrammblättern, nicht bei eingebetteten Diagrammen. Bei den Diagrammblättern ist dies so leicht, dass du das selber hinbekommst.
Bei eingebetteten Diagrammen müsste man ein Klassenmodul mit zugehörigen Events entwerfen. Das übersteigt jedoch meine Fähigkeiten.
Falls du PowerBI hast: Dort hast du die gewünschte Funktionalität automatisch mit drin.
Hallo Helmuth,
danke für die rasche Antwort.
Ja genau die Reaktion in Power BI wollte ich "nachbilden"
Ich schau mal wie ich weiterkommen.
VG Uwe
Hi,
was auch noch gehen würde: Diagramm anklicken, rechts auf den Filter klicken und dann mit der Maus über die Datenreihen fahren.
Hallo Uwe,
mein erstes Klassenmodul nach
https://learn.microsoft.com/de-de/office...ded-charts
Im Modul "DieseArbeitsmappe":
Code:
Dim myClassModule As New Klasse1
Private Sub Workbook_Open()
Set myClassModule.myChartClass = Worksheets("WB (2)").ChartObjects("Diagramm 1").Chart
End Sub
Im Klassenmodul "Klasse 1":
Code:
Option Explicit
Public WithEvents myChartClass As Chart
Private Sub myChartClass_BeforeRightClick(Cancel As Boolean)
Dim Gefunden As Boolean
Dim Ser As Series
Dim Aktiv As String
Aktiv = Selection.Name
If TypeName(Selection) = "Series" Then
For Each Ser In ActiveChart.SeriesCollection
If Ser.Name = Aktiv Then
Ser.Format.Fill.Transparency = 0
Else
Ser.Format.Fill.Transparency = 0.8
End If
Next Ser
Else
For Each Ser In ActiveChart.SeriesCollection
Ser.Format.Fill.Transparency = 0
Next Ser
End If
End Sub
Hi Namenskollege,
das scheint genau das zu sein, was ich mir vorgestellt, aber nicht zugetraut habe. Sogar das .Transparency=0 bei Auswahl keiner Reihe hast du eingebaut.
Aber wieso verwendest du BeforeRightClick anstatt Select? Und wenn schon, dann würde es Sinn machen, dass dann auch Cancel auf True gesetzt wird - zumindest bei Auswahl einer Reihe.