VBA Heimspiel/Auswaertsspiel auslesen und farblich markien
#1
Hallo zusammen,
weiß einer wie ich es per VBA hinbekomme eine Zelle auf bestimmte Werte zu lesen und
danach Farbwerte vergeben kann ?

Beispiel: Anhand der festen Werte möchte ich Farben setzen in einem Diagramm um Auswertungen zu machen:

Zelle C1
Heimspiel
Auswaertsspiel
Abgesagt

Makro sieht bisher so aus (habe ich aufgezeichnet um zu gucken, wie dieses Objekt heitßt)

Sub Farbpunkte()
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).Points(1).Select
With Selection.Format.Fill
.ForeColor.RGB = RGB(0, 122, 80)
.Transparency = 0
.Solid
End With
End Sub

Ich müsste dieses Skript damit verknüpen, dass wenn Heimspiel dann RGB=blau, wenn Abgesagt dann RGB=rot usw.

LG
Top
#2
Hi Ahmad,


Zitat:Ich müsste dieses Skript damit verknüpen, dass wenn Heimspiel dann RGB=blau, wenn Abgesagt dann RGB=rot usw.

mal 'ne blöde Frage. Muss das unbedingt per VBA gekennzeichnet werden? Würde eine bedingte Formatierung nicht auch schon reichen?
Top
#3
Hallo Günter,

danke für die Antwort und sorry dass ich es nicht vorher schrieb:

Die Punkte, welche im Diagramm dargestellt werden sollen je nach HEim/Auswärtspiel unterschiedliche Punkte haben.
In Excel kann ich ja global FArben setzen...aber ich möchte diese Punkte je nach Heim/Auswärts unterschiedlich färben...
Top
#4
Hallo,

mal ein Versuch (die Farbeinteilung ist willkürlich gewählt)

Code:
Sub Farbpunkte()
  ActiveSheet.ChartObjects("Chart 1").Activate
  ActiveChart.FullSeriesCollection(1).Select
  ActiveChart.FullSeriesCollection(1).Points(1).Select
  With Selection.Format.Fill
     Select Case ActiveSheet.Range("C1").Value
        Case "Heimspiel"
           .ForeColor.RGB = RGB(0, 122, 80)
        Case "Auswärtsspiel"
           .ForeColor.RGB = RGB(122, 0, 80)
        Case "Abgesagt"
           .ForeColor.RGB = RGB(0, 80, 122)
     End Select
     .Transparency = 0
     .Solid
  End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#5
Hallo Stefan,

danke für den Code. Aber es funktioniert nicht....
Top
#6
Hallo,

könntest Du die Datei hier hochladen?
Gruß Stefan
Win 10 / Office 2016
Top
#7
Hallo Stefan.

tut mir leid, dass ich erst jetzt antworte, musste aber ins Krankenhaus und bin seit heute früh wieder daheim :(

Anbei die Datei:
Wenn der Text in Spalte F bspw. "auswaerts" wsthet, dann solll der Rollbalken "grün" werden.
Wenn dort "heimspiel" steht dann soll der Rollbalken blau werden.
Wenn dort abgebrochen steht, dann soll der rollbalken rot werden.

Ich habe 2 Makros aufgenommen, wei aber nicht wie ich es verknüpfen kann...
Ich benötige es per VBA weil die Liste größer wird.


Besten Dank


Angehängte Dateien
.xls   upload.xls (Größe: 97,5 KB / Downloads: 5)
Top
#8
Hallo,

ich habe nur Excel 2007 zur Verfügung. Da gibt es die Eigenschaft FullSeriesCollection nicht. Kann dir leider nicht helfen.
Gruß Stefan
Win 10 / Office 2016
Top
#9
Hi,

schau dir mal diese Seite an - vielleicht kommst du mithilfe dieser zur Lösung.
Top
#10
Hallo zusammen,

danke für die Webadresse.
Leider habe ich ca. 100 solcher Punkte, daher dachte ich mir, es wäre einfacher, wenn ich es
in VBA abbilden könnte.

Stefan:
Wie würdest du es mit Excel 2007 machen ? Die Programmierungscodes müssen dch klappen (2007, 2010)

danke
Top


Gehe zu:


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