Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Diagramm Linienfarbe aus Zellfarbe "auslesen"

Diagramm Linienfarbe aus Zellfarbe "auslesen"
16.02.2009 19:50:00
StefanK
Hallo Herber-Excel-Freunde,
ich habe ein Diagramm (Punkt XY - Untertyp: Punkte mit Linien ohne Datenpunkte) rstellt.
Dabei formatiert Excel erst einmal die Farben automatisch.
Bislang markiere ich dann die einzelnen Linien im Diagramm und formatiere die Farben um.
Jetzt meine Ansatz:
Kann man Excel dazu veranlassen, die Zellfarben (beispielhaft ist eine Zelle in jeder Spalte entsprechend eingefärbt) als Basis für die Formatierung der entsprechenden Linie zu nutzen
Als Beispiel habe ich mal eine Datei hochgeladen :)
https://www.herber.de/bbs/user/59515.xls
Freu mich auf einen Tip
besten Gruß
Stefan
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
16.02.2009 20:01:00
Beverly
Hi Stefan,
das geht nur mit VBA.


AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
16.02.2009 20:03:00
StefanK
Hey Beverly
gern auch per VBA :)
Hast Du einen Tip ?
Ich hatte auch schon auf Deinen Seiten (meine Favoriten-Diagramm-Seite im Internet ;) geschaut, aber nichts gefunden :(
Gruß Stefan
Anzeige
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
16.02.2009 20:43:00
Beverly
Hi Stefan,

Sub DatenreihenFaerben()
Dim chDiagramm As Chart
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
chDiagramm.SeriesCollection(inReihe).Border.ColorIndex = Cells(3, inReihe + 3). _
Interior.ColorIndex
Next inReihe
End With
Set chDiagramm = Nothing
End Sub




Anzeige
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
16.02.2009 20:52:00
StefanK
Hallo Karin
ist ja völlig genial ! Klasse !
und dann noch so superschnell :)
darf ich noch eine kleine Sache nachfragen ?
Kann man gleichzeitig die Linien-Dicke / Stärke erhöhen - maximale Größe
Das wäre dann die absolute Spitze
besten Gruss
Stefan
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
16.02.2009 21:05:00
Beverly
Hi Stefan,

Sub DatenreihenFaerben()
Dim chDiagramm As Chart
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
.SeriesCollection(inReihe).Border.ColorIndex = Cells(3, inReihe + 3).Interior. _
ColorIndex
.SeriesCollection(inReihe).Border.Weight = xlThick
Next inReihe
End With
Set chDiagramm = Nothing
End Sub


Ich habe den Code noch einmal komplett gepostet, da beim ersten noch ein kleiner Schöheitsfehler enthalten ist, den ich nach dem Testen vergessen habe zu korrigieren - das hat aber keinen Einfluss auf das Ergebnis.



Anzeige
perfekt !
16.02.2009 21:21:00
StefanK
Hallo Karin
einfach perfekt !
Danke Dir sehr - Du hast mir wirklich weitergeholfen
Einen schönen Abend wünscht Dir
Stefan
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
19.02.2009 20:42:00
StefanK
Hallo Beverly
du hast mir schon sehr geholfen. Jetzt stelle ich fest, daß bei vielen Linien die Markierung
"nur über Farben" (ausgelesen aus den einzelnen Zellen) leider - aus Übersichtgründen -
nicht ausreicht.
Ist es auch möglich, wenn z.b. die einzelnen Zellen nicht nur farbig
sondern auch mit einem bestimmten Muster (z.b. Liniert / kariert / schräge Linien / usw)
hinterlegt sind , die entsprechenden Linien ebenfalls so "einzufärben"
Würd mich sehr freuen, wenn das geht
Das macht das Diagramm noch übersichtlicher
Besten Dank im voraus
Gruß Stefan
Anzeige
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
19.02.2009 22:03:00
Beverly
Hi Stefan,
zeichne dies mit dem Makrorekorder auf und füge es in den Code ein.


AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
19.02.2009 22:26:00
StefanK
Hey Karin
ich hab genau das versucht - krieg es aber nicht hin :(
es müssen ja nicht nur darum eine einzelne Linie anzupassen
sondern um ALLE Linien in dem Diagramm
Gruss Stefan
hier mein aktuelle Code

Sub DatenreihenFaerben()
'Quelle Beverly
Dim chDiagramm As Chart
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
.SeriesCollection(inReihe).Border.ColorIndex = Cells(26, inReihe + 4).Interior. _
ColorIndex
.SeriesCollection(inReihe).Border.Weight = xlThick
Next inReihe
End With
Set chDiagramm = Nothing
'senkrechte Linien der X-Achse formatieren  (dünne Linie hellgrau)
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(1).Select
With Selection.Border
.ColorIndex = 15
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlNone
.Smooth = False
.MarkerSize = 5
.Shadow = False
End With
End Sub


Anzeige
AW: Diagramm Linienfarbe aus Zellfarbe "auslesen"
20.02.2009 08:44:00
Beverly
Hi Stefan,
ich kann an deinem Code nicht erkennen, dass du einer Datenreihenlinie eine andere Schraffur zuweist - dein Code weist nur der 1. Datenreihe die Linienfarbe Hellgrau und die Strichstärke Dünn zu.
Ich möchte dich bitten, nur noch in diesem Thread hier die Diskussion weiterzuführen. So wie du den Code hier gepostet hast ist er ein wenig sinnlos. In dem anderen Thread habe ich dir zum Formatieren der Datenreihenlinien bereits geschrieben, dass dein aufgezeichneter Teil weg kann und die Schleife nicht mit 1 sondern mit 2 beginnen muss, da deine "senkrechten Linien" nichts mit der X-Achse zu tun haben sondern einfach nur die 1. Datenreihe sind, die du einmalig von Hand hellgrau formatieren kannst. Sie muss also von der Formatierung mittels Code ausgeschlossen werden.


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Diagrammlinienfarbe aus Zellfarbe übernehmen


Schritt-für-Schritt-Anleitung

Um die Farben von Linien in einem Excel-Diagramm entsprechend den Zellfarben zu übernehmen, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul einfügen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Code einfügen: Kopiere den folgenden Code und füge ihn in das Modul ein:

    Sub DatenreihenFaerben()
        Dim chDiagramm As Chart
        Dim inReihe As Integer
        Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
        With chDiagramm
            For inReihe = 1 To .SeriesCollection.Count
                .SeriesCollection(inReihe).Border.ColorIndex = Cells(3, inReihe + 3).Interior.ColorIndex
                .SeriesCollection(inReihe).Border.Weight = xlThick
            Next inReihe
        End With
        Set chDiagramm = Nothing
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.

  5. Zellenfarbe anpassen: Stelle sicher, dass die Zellen die gewünschten Farben haben, bevor du das Makro ausführst.


Häufige Fehler und Lösungen

  • Problem: Das Diagramm zeigt nicht die erwarteten Farben.

    • Lösung: Überprüfe, ob die Zellen, die du auslesen möchtest, tatsächlich die richtigen Farben haben. Der Code bezieht sich auf die Zellen in Zeile 3. Passe die Zeilennummer an, wenn deine Daten woanders stehen.
  • Problem: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du das Makro in der richtigen Arbeitsmappe ausführst und dass das Diagramm richtig benannt ist (im Code wird das erste Diagramm ausgewählt).

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du die Farben manuell anpassen:

  1. Klicke mit der rechten Maustaste auf die Linie im Diagramm.
  2. Wähle Datenreihe formatieren und passe die Farben manuell an.
  3. Alternativ kannst du auch die Formatvorlagen verwenden, um die Linienfarbe einheitlich zu gestalten.

Praktische Beispiele

Hier ist ein Beispiel, wie du die excel diagramm farben aus tabelle übernehmen kannst:

  • Angenommen, du hast ein Punkte-Diagramm mit mehreren Datenreihen. Du kannst den obigen VBA-Code verwenden, um jede Reihe entsprechend der Zellfarbe in der dritten Zeile zu formatieren.

Ein weiteres Beispiel ist, wenn du ein excel kreisdiagramm farben zuweisen möchtest. Dabei kannst du ähnliche VBA-Methoden verwenden, um die Farben der einzelnen Segmente an die Zellenfarbe zu übertragen.


Tipps für Profis

  • Um die excel diagramm farbe aus zelle übernehmen zu optimieren, kannst du den Code so anpassen, dass er auch Muster und Schraffuren berücksichtigt. Nutze den Makrorekorder, um die genauen Schritte aufzuzeichnen und in deinen Code zu integrieren.
  • Wenn du excel hellgraue linien weg haben möchtest, kannst du die Weight-Eigenschaft auf xlThin setzen.

FAQ: Häufige Fragen

1. Ist VBA notwendig, um die Linienfarbe zu ändern?
Ja, ohne VBA kannst du die Farben nur manuell anpassen. VBA bietet eine automatisierte und zeitsparende Lösung.

2. Kann ich die Farbe für alle Linien gleichzeitig ändern?
Ja, der bereitgestellte VBA-Code ändert die Farbe aller Linien in einem Diagramm gleichzeitig, indem er die Zellfarbe aus einer bestimmten Zeile ausliest.

3. Wie kann ich eine spezifische Farbe zuweisen?
Anstelle von ColorIndex kannst du die RGB-Funktion verwenden, um eine spezifische Farbe zu definieren, z.B. .SeriesCollection(inReihe).Border.Color = RGB(255, 0, 0) für Rot.

4. Kann ich auch Muster verwenden?
Ja, du kannst den Makrorekorder verwenden, um zu sehen, wie du Muster auf eine Linie anwendest und diese Schritte in deinen VBA-Code integrieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige