Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
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
Diagramm färben bei bedingter Formatierung
14.01.2014 08:07:56
Marc
Hallo zusammen,
wie kann man ein Diagramm anhand von einer bedingten Formatierung färben lassen?
Anbei meine Datei: https://www.herber.de/bbs/user/88794.xlsm

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm färben bei bedingter Formatierung
14.01.2014 09:17:06
Beverly
Hi Marc,
dazu hatten wir doch bereits einen Thread vor einiger Zeit, wo ich dir eine VBA-Lösung zum Einfärben der Balken anhand der Zellfarbe gepostet hatte - der Code müsste dir noch vorliegen.
Ein Vergleich mit der erfüllten Bedingung per bedingter Formatierung anhand der Farbe ist nicht möglich, das geht nur über den entsprechenden Zellinhalt.
Du müsstest also die Zellen in Spalte A Tabelle3 entsprechend von Hand färben und dann in der Schleife, in der du über die Datenpunkte im Diagramm läufst, den Inhalt der Spalte F in Tabelle1 jeweils in Spalte A in Tabelle3 suchen und dann die betreffende Farbe nehmen.


Anzeige
AW: Diagramm färben bei bedingter Formatierung
14.01.2014 09:46:11
Marc
Hi Beverly,
anhand von diesem Code habe ich auch versucht das anzupassen, aber da kenne ich mich zu wenig mit Makros aus.
Ich habe nun die Zellen in Spalte A Tabelle3 entsprechend gefärbt aber wie suche ich jetzt nach dem Inhalt?

AW: Diagramm färben bei bedingter Formatierung
14.01.2014 10:46:03
Beverly
Hi Mark,
poste den bisherigen Code doch mal - ich muss das Fahrrad doch nicht neu erfinden. ;-)


AW: Diagramm färben bei bedingter Formatierung
14.01.2014 10:58:53
Marc
bitteschön:
Sub DiaFaerben()
Dim lngPunkt As Long
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2)
.ApplyDataLabels
For lngPunkt = 1 To .Points.Count
With .Points(lngPunkt)
.Interior.Color = Cells(lngPunkt + 2, 7).Interior.Color
With .Format.Fill
.Visible = msoTrue
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.Weight = 2
End With
.DataLabel.Caption = "=Tabelle1!F" & lngPunkt + 2
End With
Next lngPunkt
End With
End Sub

Anzeige
AW: Diagramm färben bei bedingter Formatierung
14.01.2014 12:16:28
Beverly
Der Code ist nur teilweise von mir, denn bei mir kam bestimmt kein Select und kein Activate darin vor.
Sub DiaFaerben()
Dim lngPunkt As Long
Dim rngZelle As Range
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2)
.ApplyDataLabels
For lngPunkt = 1 To .Points.Count
With .Points(lngPunkt)
.DataLabel.Caption = "=Tabelle1!F" & lngPunkt + 2
Set rngZelle = Worksheets("Tabelle3").Columns(1).Find(Cells(lngPunkt + 2, 6).Value,  _
lookat:=xlWhole)
If Not rngZelle Is Nothing Then
.Interior.Color = Worksheets("Tabelle3").Range(rngZelle.Address).Interior.Color
With .Format.Fill
.Visible = msoTrue
.Transparency = 0
.Solid
End With
End If
With .Format.Line
.Visible = msoTrue
.Weight = 2
End With
End With
Next lngPunkt
End With
End Sub


Anzeige
AW: Diagramm färben bei bedingter Formatierung
14.01.2014 12:16:39
Bastian
Hallo Marc,
probier mal folgenden Code:
Gruß, Bastian
Option Explicit
Sub DiaFaerben()
Dim lngPunkt As Long
Dim strBeruf As String
Dim lngColor As Long
Dim R As Integer
Dim G As Integer
Dim B As Integer
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2)
For lngPunkt = 1 To .Points.Count
strBeruf = Sheets("Tabelle1").Cells(lngPunkt + 2, 6).Value
On Error Resume Next
lngColor = Sheets("Tabelle3").Cells(Application.Match(strBeruf, Sheets("Tabelle3") _
.Range("A2:A11"), 0) + 1, 1).Interior.Color
liesRGB lngColor, R, G, B
With .Points(lngPunkt).Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(R, G, B)
.Transparency = 0
.Solid
End With
Next
End With
End Sub
Function liesRGB(lngColor As Long, ByRef Red As Integer, _
ByRef Green As Integer, ByRef Blue As Integer)
On Error Resume Next
Red = lngColor Mod 256
lngColor = (lngColor - Red) / 256
Green = lngColor Mod 256
lngColor = (lngColor - Green) / 256
Blue = lngColor Mod 256
End Function

Anzeige
Ergänzung
14.01.2014 12:18:47
Bastian
Hallo Marc,
mein geposteter Code geht nur, wenn Du die Liste der Berufe in Tabelle3 in den entsprechenden Farben formatierst.
Gruß, Bastian

AW: Ergänzung
14.01.2014 13:30:33
Marc
Vielen Dank!!!
Das ist genau das, was ich gesucht habe.

AW: Ergänzung
14.01.2014 14:14:06
Beverly
Hi marc,
hast du meinen Code ebenfalls getestet? Der macht nämlich genau das selbe, allerdings mit dem Vorteil, dass der Balken nicht gefärbt wird, falls in Spalte F nichts ausgewählt wurde.


AW: Ergänzung
14.01.2014 14:24:09
Marc
ja, habe ich auch getestet.
Vielen vielen Dank, ihr habt mir beide super weitergeholfen!!!

Anzeige
AW: Ergänzung
15.01.2014 12:36:25
Marc
jetzt hätte ich doch noch ein Frage und zwar bezüglich der X-Achse.
Hat man die Möglichkeit, dass die x-Achse automatisch mit den Jahren mitwandert?
Momentan habe ich das so gelöst:
Achse formatieren, dann Achsenoptionen
Dort habe ich dann manuell Werte hinterlegt.
Schön wäre es, wenn das automatisch gehen würde, dann muss ich das nicht für jedes Jahr anpassen.
Oder muss ich das ganz anders angehen?

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige