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

Diagrammfarben VBA-Code

Diagrammfarben VBA-Code
23.11.2022 11:56:24
Andreas
Hallo zusammen,
hab im Internet einen VBA-Code gefunden, der Diagrammbalken in der selben Farbe einfärbt, wie die Zellfarbe, aus der die Werte kommen.
Hab hier mal eine Beispieldatei: https://www.herber.de/bbs/user/156355.xlsm
Im Tabellenblatt "Fest Eingefärbte Zellen" ist es so angelegt, wie ich es gefunden habe.
Ändert man hier also die Farbe Zeilenweise in A1:B10 und löst das Makro aus, wird die Farbe im Diagramm angepasst.
Wollte das ganze jetzt mit bedingten Formatierungen anpassen.
Im Tabellenblatt "Bedingte Formatierung" mein Versuch dazu.
Ändert man hier den Text in Spalte A, passt sich die Zellenfarbe automatisch an.
Ins Diagramm übernehmen lässt sich das mit dem Makro aber leider nicht.
Hat jemand eine Idee, wie man das zum Laufen bringen könnte?
Gruß Andreas

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagrammfarben VBA-Code
23.11.2022 12:04:22
Fennek
Hallo,
ohne Kenntnis der Datei:
Die Farbe der bedingten Formatierung wird mit "cells().displayFormat" abgefragt.
mfg
AW: Diagrammfarben VBA-Code
23.11.2022 13:39:51
Andreas
Super, vielen Dank Onur.
Wünsche einen angenehmen Nachmittag.
Gruß Andreas
AW: Diagrammfarben VBA-Code
23.11.2022 13:59:38
Andreas
Hallo Onur,
hätte da noch eine Ergänzende Frage.
Wenn ich noch Farbkombinationen einfügen möchte,
z.B. schwarz-weiß-schwarz, hab ein Beispiel in der Mappe angelegt: https://www.herber.de/bbs/user/156359.xlsm
Geht sowas auch oder zählen diese "Fülleffekte" nicht als richtige Farbe?
Gruß Andreas
Anzeige
AW: Diagrammfarben VBA-Code
23.11.2022 14:41:01
onur
"Geht sowas auch oder zählen diese "Fülleffekte" nicht als richtige Farbe?" - Nein und ja.
AW: Diagrammfarben VBA-Code
23.11.2022 14:47:42
Daniel
Hi
das geht prinizpiell schon.
nur muss man für solche Fülleffekte noch mehr Einstellungen angeben, als nur die Hintergrundfarbe.
Wenn du also was haben willst, dann musst du schauen, welche Einstellungen man dafür braucht (Makrorecorder) und dann alle diese einzeln Einstellungen von der Zelle ins Diagramm übertragen.
Es setzt natürlich voraus, dass dieser Effekt auch für Diagramme verfügbar ist.
Gruß Daniel
AW: Diagrammfarben VBA-Code
24.11.2022 11:34:41
Beverly
Hi Andreas,
lies doch einfach aus, was in der Zelle steht auf anstatt festzustellen ob die bedingte Formatierung erfüllt ist. Klar, ist nicht ganz so komfortabel, weil du im Code festlegen musst welcher Zellinhalt zu welcher Farbe gehört, aber in den alten Excel-Versionen ging dies schließlich auch nur auf diesem Weg.
Bis später
Karin

Anzeige
AW: Diagrammfarben VBA-Code
24.11.2022 12:28:12
Andreas
Hallo Karin,
könntest du mir hierzu vielleicht ein Beispiel mit einer Farbe erstellen?
Versuche mich gerade noch an dem Lösungsvorschlag von Daniel, aber das will irgendwie nicht wirklich funktionieren.
Gruß Andreas
AW: Diagrammfarben VBA-Code
24.11.2022 16:35:46
Beverly
Hi Andreas,

Sub SauelenFaerben()
Dim rngBereich As Range
Dim lngZeile As Long
Dim strBereich As String
Dim varFarbe As Variant
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
strBereich = Split(.Formula, ",")(1)
Set rngBereich = Range(strBereich)
For lngZeile = 1 To rngBereich.Cells.Count
Select Case rngBereich.Cells(lngZeile).Value
Case "gelb"
varFarbe = 65535
Case "blau"
varFarbe = 14395790
Case "rot"
varFarbe = 255
Case "grün"
varFarbe = 5296274
Case "orange"
varFarbe = 49407
Case "schwarz"
varFarbe = 8421504
Case "lila"
varFarbe = 10498160
Case "hellblau"
varFarbe = 15652797
Case "grau"
varFarbe = 12566463
Case "schwarz-weiß-schwarz"
varFarbe = "schwarz-weiß-schwarz"
End Select
If IsNumeric(varFarbe) Then
.Points(lngZeile).Interior.Color = varFarbe
Else
' hier der Code wie die Säule gefärbt werden soll wenn "schwarz-weiß-schwarz" in der Zelle steht
End If
Next lngZeile
End With
End Sub
Übrigens: weiß als Farbe wird mit "ß" und nicht mit "s" geschrieben. ;)
Bis später
Karin

Anzeige
AW: Diagrammfarben VBA-Code
25.11.2022 11:27:35
Andreas
Hi Karin,
vielen Dank für deine Arbeit.
Hätte da noch ein paar Fragen dazu.
Woher hast du diese Nummern, die die Farben ergeben? Wenn ich nach "varFarben oder var Code" google, kann ich leider nichts finden.
Falls ich zum Beispiel noch hellrot anlegen möchte oder so :)
Dann habe ich versucht hier: ' hier der Code wie die Säule gefärbt werden soll wenn "schwarz-weiß-schwarz" in der Zelle steht
den Code für das normale schwarz einfach nochmal einzufügen.
Hab's einmal so:
varFarbe = 8421504 ' hier der Code wie die Säule gefärbt...
und einmal so:
8421504 ' hier der Code wie die Säule gefärbt...
versucht. Da passiert aber nichts.
Kannst du mir sagen was ich falsch mache?
Danke für deine Hilfe
Gruß Andreas
Anzeige
AW: Diagrammfarben VBA-Code
25.11.2022 14:11:32
Beverly
Hi Andreas,
ich habe mir die Farbnummer von Excel auslesen lassen - einfach eine Zelle mit der gewünschten Farbe formatieren und dann dieses kleine Makro ausführen:

Sub Farbe()
ActiveCell = ActiveCell.Interior.Color
End Sub
Oder du nimmst dein Tabellenblatt "Fest Eingefärbte Zellen" und führst dort dieses Makro aus, damit gleich alle Farbnummern ausgegeben werden:

Sub Farbe()
Dim lngZeile As Long
For lngZeile = 2 To 10
Cells(lngZeile, 3) = Cells(lngZeile, 1).Interior.Color
Next lngZeile
End Sub
Wenn du die Säulen nur einfach farbig formatieren willst, dann musst du die Farbe innerhalb der Case-Anweisung festlegen - also:

Case "schwarz-weiß-schwarz"
varFarbe = 8421504

In der If-Then-Else-Anweisung wird die Säule bereits gefärbt. Wenn du generell nur eine einfarbige Färbung möchtest, brauchst du den Else-Zweig aber überhaupt nicht - dann reicht statt der 5 Zeilen diese 1 Zeile:

            .Points(lngZeile).Interior.Color = varFarbe

Und falls du weitere Farben willst, dann einfach noch eine entsprechende Case-Anweisung ergänzen - der Select-Case-Teil ist einfach die "Übersetzung" dessen was in der Zelle steht und welche Farbe dann zugewiesen werden soll.
Bis später
Karin

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige