Office: Einzelne Balken im Diagramm einfärben

Helfe beim Thema Einzelne Balken im Diagramm einfärben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich möchte nochmal eine Frage stellen zum Thema Einfärben von Balkendiagrammen per VBA. Unter anderen habe ich ein Diagramm welches... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von sirharlekin, 4. Februar 2018.

  1. Einzelne Balken im Diagramm einfärben


    Hallo zusammen,

    ich möchte nochmal eine Frage stellen zum Thema Einfärben von Balkendiagrammen per VBA.

    Unter anderen habe ich ein Diagramm welches Budget pro Einkäufer darstellt.

    Y Achse: Budget in Zahl
    X Achse: Name des Einkäufers als Text

    Ich möchte nun die Balken bestimmter Einkäufer einfärben.

    Ich möchte eine Anzahl Einkäufer als TXT festlegen und diese Balken sollen dann gefärbt sein. Unabhängig vom Y-Wert.

    Ich habe diesen Code gefunden, kann ihn aber nicht auf mein Problem ummünzen.

    Ich würde das Modul dann immer beim Speichern aufrufen wollen, so dass danach alle entsprechenden Balken zu den Namen eingefärbt sind.

    Anbei noch ein Bild meines Diagramms.


    Viele Grüße,

    Dominik


    '©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©'
    '# Dieses Beispiel stammt aus: #'
    '# Das Excel-VBA-Codebook #'
    '# Autoren: Monika Weber und Bert Körn #'
    '# ISBN: 3-8273-1979-X #'
    '# #'
    '# Alle Rechte Vorbehalten #'
    '# #'
    '# Anfragen unter: #'
    '# Monika@jumper.ch oder Bert@bert-koern.de #'
    '# #'
    '©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©'
    Option Explicit
    Sub Diagramm_Saeulen()
    Dim i As Integer
    Dim x As Integer
    Dim C As Chart
    Dim S As SeriesCollection
    Set C = ActiveSheet.ChartObjects(1).Chart
    Set S = C.SeriesCollection
    On Error GoTo Errorhandler
    For x = 1 To S.Count
    ' Labels einblenden
    S(x).ApplyDataLabels Type:=xlDataLabelsShowValue
    For i = 1 To S(x).Points.Count
    ' Bedingte Formatierung
    If CDbl(S(x).Points(i).DataLabel.Text) < "30" Then
    S(x).Points(i).Interior.ColorIndex = 4
    ElseIf CDbl(S(x).Points(i).DataLabel.Text) > "50" Then
    S(x).Points(i).Interior.ColorIndex = 3
    ElseIf CDbl(S(x).Points(i).DataLabel.Text) > "30" Then
    S(x).Points(i).Interior.ColorIndex = 6
    End If
    Next i
    ' Labels ausblenden
    S(x).ApplyDataLabels Type:=xlDataLabelsShowNone
    Next x
    Exit Sub
    Errorhandler:
    MsgBox "Die Prozedur ist fehlgeschlagen"
    End Sub

    :)
     
    sirharlekin, 4. Februar 2018
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Dominik,

    und wo bzw. wie gibst du vor bzw. wo steht, für welche Kunden die Säulen (nicht Balken!!) gefärbt werden sollen?


    Einzelne Balken im Diagramm einfärben grusz.gif
     
    Beverly, 5. Februar 2018
    #2
  3. Hallo Karin,

    noch gebe ich gar nichts vor. Ich würde gerne definieren, "Wenn Name1 oder Name 2 oder... , dann Säulen rot".

    Stand heute definiere ich das nirgends und alle Säulen sind einfach blau.

    Habe ich dich eventuell falsch verstanden?
     
    sirharlekin, 5. Februar 2018
    #3
  4. Beverly
    Beverly Erfahrener User

    Einzelne Balken im Diagramm einfärben

    Hi,

    Code:
    Die Farben und die Namen musst du anpassen.


    Einzelne Balken im Diagramm einfärben grusz.gif
     
    Beverly, 6. Februar 2018
    #4
  5. Hallo Karin,

    danke schön.

    Wenn ich den Code in einem seperaten Tabellenblatt starte, in dem nur das eine Diagramm ist, funktioniert er tadellos.

    Normalerweise ist das Diagramm aber zusammen mit anderen in einem Blatt, kann ich dort direkt "Diagramm 2" ansteuern? Ich bekomme sonst den Fehler "Die Methode Range für das Object Global ist fehlgeschlagen".


    Vielen Dank,

    Dominik
     
    sirharlekin, 6. Februar 2018
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Dominik,

    wenn du dich auf ein bestimmtes Diagramm beziehen willst musst du es auch direkt ansprechen:

    Code:
    Einzelne Balken im Diagramm einfärben grusz.gif
     
    Beverly, 6. Februar 2018
    #6
  7. Hallo Karin,

    danke, es funktioniert einwandfrei.
     
    sirharlekin, 6. Februar 2018
    #7
  8. Einzelne Balken im Diagramm einfärben

    Ohne VBA:

    Du nimmst die Daten für Stapelsäulen und lässest die Werte der nicht zu zeichnenden Teilsäule einfach auf Null.

    X Y1 Y2
    A1 2 0
    A2 0 5
    A3 0 1
    A4 4 0
    A5 3 0

    färbt die Säulen von A2 und A3 anders, als die anderen. Das geht natürlich alles auch formelgesteuert:

    B2: =ISTFEHLER(VERGLEICH($A2;E$1:E$2;))*$Y2
    C2: =ISTZAHL(VERGLEICH($A2;E$1:E$2;))*$Y2 oder =($B2=0)*$Y2

    mit den Originalwerten des Diagramms in Y2:Y6
     
  9. Hallo zusammen,

    ich hole dieses Thema nochmal aus dem Zombie-Dasein, da ich nicht unnötig einen neuen Eintrag erstellen möchte.

    Frage zu dem zu dem Code von Beverly oben:

    Code:
    Hier gebe ich die betreffenden Cases alle manuell im Quelltext ein. Jetzt ist es so, dass sich die entsprechenden Cases häufig ändern.

    Kann ich die Cases aus einer Spalte auslesen, damit ich nicht jedes mal in den Quelltext muss?

    Ich habe bisher versucht die Spalten mit den Case-Namen in ein Array einzulesen (klappt), finde aber keinen Weg das Array dann im Select Case zu verwenden.

    Könnt ihr mir auf die Sprünge helfen?


    Viele Grüße,

    Dominik

    PS: Falls es nicht in Ordnung war, den Thread wiederzubeleben, dann verzeiht mir bitte. Ich eröffne dann einen neuen Eintrag.
     
    sirharlekin, 18. Februar 2019
    #9
  10. Beverly
    Beverly Erfahrener User
    Hi Dominik,

    lade doch mal eine entsprechende Beispielmappe hoch und beschreibe am konkreten Beispiel was du genau machen willst.


    Einzelne Balken im Diagramm einfärben grusz.gif
     
  11. Guten Morgen Karin,

    im Anhang eine Bsp Datei.

    Es gibt mehrere Einkäufer mit entsprechenden Daten (Blatt Daten, Spalte A und B), es sollen jedoch nur die Balken der Einkäufer in Blatt Daten, Spalte E gefärbt werden.

    Wenn sich die Selektion also ändert, möchte ich praktisch nur Daten in Spalte E hinzufügen oder entfernen müssen, ohne jedesmal den Quelltext zu manipulieren.

    Ist mein Gedankenansatz mit Array und For-Schleife da irgendwie angebracht? Mir ist nur die Integration in diesem Fall nicht klar.


    Viele Grüße
     
    sirharlekin, 19. Februar 2019
    #11
  12. Beverly
    Beverly Erfahrener User
    Hi Dominik,

    du musst den Namen in Spalte E aber auch eine Farbe zuordnen (so wie in dem ursprünglichen Code durch die Case-Anweisung), sonst weiß Excel ja nicht, wie die betreffende Säule gefärbt werden soll. Dazu könntest du z.B. die gewünschte Color-Nummer zu jedem Namen in Spalte F eintragen, sodass man sie von dort auslesen kann. Einfacher allerdings ist es, wenn du die Zellen gleich in der betreffenden Farbe formatierst. Dann kannst du mit folgendem Code die Datenpunkte färben:

    Code:
    Einzelne Balken im Diagramm einfärben grusz.gif
     
  13. Einzelne Balken im Diagramm einfärben

    Hallo Karin,

    danke, das funktioniert einwandfrei.

    Besonders smart finde ich die Lösung das man gleich die Zellen entsprechend einfärben kann.


    Vielen Dank.
     
    sirharlekin, 20. Februar 2019
    #13
Thema:

Einzelne Balken im Diagramm einfärben

Die Seite wird geladen...
  1. Einzelne Balken im Diagramm einfärben - Similar Threads - Einzelne Balken Diagramm

  2. In einer einzelnen Folie Rechtecke weiterklicken

    in Microsoft PowerPoint Hilfe
    In einer einzelnen Folie Rechtecke weiterklicken: Hallo zusammen, ich bin neu hier. Ich möchte in Powerpoint in einer einzelnen Folie nacheinander bunte Rechtecke mit einem Presenter anklicken bzw. weiterklicken. Zum besseren Verständnis. Jedes...
  3. Semikolon via VBA in einzelne Zellen separieren

    in Microsoft Excel Hilfe
    Semikolon via VBA in einzelne Zellen separieren: Hallo zusammen, ich benötige eure Hilfe. Ich habe eine Zelle mit mehr als 260 Informationen. Die sind durch ein Semikolon getrennt. Bis jetzt habe ich diese über die Funktion "Daten-Text in...
  4. Einzelne Formulare in ein Menüband von Outlook einbinden

    in Microsoft Outlook Hilfe
    Einzelne Formulare in ein Menüband von Outlook einbinden: Hallo Leute, ich habe in Outlook ein neues Menüband angelegt. Dann habe ich mit den Entwicklertools eine Formularvorlage erstellt. Jetzt würde ich gerne dieses einzelne Formular direkt über das...
  5. einzelne Spalten in neue Dateien kopieren

    in Microsoft Excel Hilfe
    einzelne Spalten in neue Dateien kopieren: Hallo zusammen, ich brauche ein wenig Hilfestellung: Ich habe eine Tabelle (exemplarisch) Titel A Titel B Spalte A Spalte B...
  6. VBA Makro, einzelne Zellen kopieren und in fortlaufende Zeile einfügen

    in Microsoft Excel Hilfe
    VBA Makro, einzelne Zellen kopieren und in fortlaufende Zeile einfügen: Hallo zusammen Verstehe die Makro Codes nicht gut, jedoch halfen bereits youtube Tutorials bei ein paar Problemen. Nun bräuchte ich aber eure Hilfe. Es geht um folgendes: Ich möchte ein Makro in...
  7. VBA Serienbrief in einzelne Ordner speichern

    in Microsoft Word Hilfe
    VBA Serienbrief in einzelne Ordner speichern: Moin, ich habe ein Serienbriefdokument. Derzeit ist es möglich, mit VBA alle Dokumente nach Nachnamen und Vornamen aus der Excelquelle einzeln zu speichern. Ich würde nun gerne auch das die...
  8. Datenbank Abfrage - einzelne Datensätze löschen

    in Microsoft Access Hilfe
    Datenbank Abfrage - einzelne Datensätze löschen: Hey ihr Lieben, ich habe eine Abfrage erstellt, die ich dann automatisiert in Excel habe. Nun ist es aber so, dass in dieser Abfrage 2-3 Datensätze enthalten sind, die sich mehr oder weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden