Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Balkendiagramm "dimmen" nicht ausgewählter Farben
#1
Hallo ins Forum Smile

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.


.xlsx   Balken_highlighted.xlsx (Größe: 57,29 KB / Downloads: 4)


Freu mich sehr auf Unterstützung.

VG Uwe
Antworten Top
#2
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
Antworten Top
#3
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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#4
Hallo Elex,

 vielen Dank  18 , probiere ich gleich mal aus :)

VG Uwe
Antworten Top
#5
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
Antworten Top
#6
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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#7
Hallo Helmuth,

danke für die rasche Antwort.
Ja genau die Reaktion in Power BI wollte ich "nachbilden" Smile

Ich schau mal wie ich weiterkommen.

VG Uwe
Antworten Top
#8
Hi,

was auch noch gehen würde: Diagramm anklicken, rechts auf den Filter klicken und dann mit der Maus über die Datenreihen fahren.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#9
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


Angehängte Dateien
.xlsm   Balken_highlighted.xlsm (Größe: 66,88 KB / Downloads: 1)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • HKindler
Antworten Top
#10
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. 100

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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste