Microsoft Excel

Herbers Excel/VBA-Archiv

Balkenfarbe in Abhängigkeit von Achsenbeschrift

Betrifft: Balkenfarbe in Abhängigkeit von Achsenbeschrift von: mokia
Geschrieben am: 10.11.2014 11:50:44

Hallo zusammen,

ich habe folgendes (funktionierendes) Script gefunden, welches die Balkenfarbe eines Diagramms entsprechend der Beschriftung der X-Achse anpasst. Die Beschriftung steht in A2 bis E2. Ich möchte diese nun von "zeilenbasiert" auf "spaltenbasiert" (A2:A6) umschreiben. Wahrscheinlich liegt das Problem im zweiten Script irgendwo in dem Bereich von "EndXl...". Über einen Hinweis, warum das zweite Script nicht funktioniert wäre ich sehr dankbar.

Sub Diagramm_formatieren()

    Dim rng As Range
    Dim i As Long
    Dim a As Long
    Dim l As Long
    a = 0

    For l = 1 To Worksheets(5).ChartObjects("Diagramm 1").Chart.
              SeriesCollection(1).Points.Count
              Worksheets(5).ChartObjects("Diagramm 1").Chart.
              SeriesCollection(1).Point(l).Interior.ColorIndex = 1
    Next l

    For i = 1 To Worksheets(5).Range("A2").End(xlToRight).Column
        Set rng = Worksheets(5).Range("A2").Offset(0, i - 1)
        If rng.EntireColumn.Hidden = False Then
            If rng.Value = "Rot" Then
                Worksheets(5).ChartObjects("Diagramm 1").Chart.
                SeriesCollection(1).Points(i - a).Interior.ColorIndex = 3
            ElseIf rng.Value = "Gelb" Then
                Worksheets(5).ChartObjects("Diagramm 1").Chart.
                SeriesCollection(1).Points(i - a).Interior.ColorIndex = 44
            ElseIf rng.Value = "Blau" Then
                Worksheets(5).ChartObjects("Diagramm 1").Chart.
                SeriesCollection(1).Points(i - a).Interior.ColorIndex = 5
            End If
        Else
            a = a + 1
        End If
    Next i
End Sub
zweite Script:
Sub Diagramm_formatieren()

    Dim rng As Range
    Dim i As Long
    Dim a As Long
    Dim l As Long
    a = 0

 For l = 1 To Worksheets(5).ChartObjects("Diagramm 1").Chart.
              SeriesCollection(1).Points.Count
              Worksheets(5).ChartObjects("Diagramm 1").Chart.
              SeriesCollection(1).Point(l).Interior.ColorIndex = 1
 Next l
   
 For i = 1 To Worksheets(5).Range("A6").End(xlUp).Row        
 Set rng = Worksheets(5).Range("A6").Offset(0, i - 1)
        If rng.EntireRow.Hidden = False Then
            If rng.Value = "Rot" Then
                Worksheets(5).ChartObjects("Diagramm 1").Chart.
                SeriesCollection(1).Points(i - a).Interior.ColorIndex = 3
            ElseIf rng.Value = "Gelb" Then
                Worksheets(5).ChartObjects("Diagramm 1").Chart.
                SeriesCollection(1).Points(i - a).Interior.ColorIndex = 44
            ElseIf rng.Value = "Blau" Then
                Worksheets(5).ChartObjects("Diagramm 1").Chart.
                SeriesCollection(1).Points(i - a).Interior.ColorIndex = 5
            End If
        Else
            a = a + 1
        End If
    Next i
End Sub

  

Betrifft: AW: Balkenfarbe in Abhängigkeit von Achsenbeschrift von: Rudi Maintaire
Geschrieben am: 10.11.2014 12:01:31

Hallo,
For i = 1 To Worksheets(5).Range("A2").End(xldown).Row
Set rng = Worksheets(5).Range("A2").Offset(i-1, 0)

Gruß
Rudi


  

Betrifft: AW: Balkenfarbe in Abhängigkeit von Achsenbeschrift von: Rudi Maintaire
Geschrieben am: 10.11.2014 12:01:46

Hallo,
For i = 1 To Worksheets(5).Range("A2").End(xldown).Row
Set rng = Worksheets(5).Range("A2").Offset(i-1, 0)

Gruß
Rudi


  

Betrifft: AW: Balkenfarbe in Abhängigkeit von Achsenbeschrift von: mokia
Geschrieben am: 10.11.2014 13:32:35

Funktioniert - vielen Dank!
Im Idealfall möchte ich gern die Pflege der Balkenfarbe nicht im Makro sondern in einem Tabellenblatt 6 durchführen. Also in A1 (Tab6) soll rot als Überschrift stehen und A2:A?? die Werte haben, für die dann ein roter Balken angezeigt wird.
Wie kann ich diese Zellen ansprechen und die folgende Zeile entsprechend anpassen?

If rng.Value = "Rot" Then


  

Betrifft: verstehe ich nicht. owT von: Rudi Maintaire
Geschrieben am: 10.11.2014 13:54:33




  

Betrifft: AW: verstehe ich nicht. owT von: mokia
Geschrieben am: 10.11.2014 14:07:33

sry, dann hab ich mich schlecht ausgedrückt. Im Moment habe ich ja eine 1:1 Beziehung: Achsenbeschriftungen "rot" = Balken rote Farbe. Nun möchte ich Achsenbeschrift Wert1, Wert2, Wert3... alle rot haben; Wert1a, Wert2a, Wert3a alle grün usw. Im Makro möchte ich die Werte (30-50 je Farbe) nicht fest reinschreiben sondern über ein weiteres Tabellenblatt pflegen. Wie könnte ich dies im vorhin genannt script an der Stelle

If rng.Value = "Rot" Then

einbinden?




  

Betrifft: AW: Balkenfarbe in Abhängigkeit von Achsenbeschrif von: mokia
Geschrieben am: 10.11.2014 15:36:53

sry, dann hab ich mich schlecht ausgedrückt. Im Moment habe ich ja eine 1:1 Beziehung: Achsenbeschriftungen "rot" = Balken rote Farbe. Nun möchte ich Achsenbeschrift Wert1, Wert2, Wert3... alle rot haben; Wert1a, Wert2a, Wert3a alle grün usw. Im Makro möchte ich die Werte (30-50 je Farbe) nicht fest reinschreiben sondern über ein weiteres Tabellenblatt pflegen. Wie könnte ich dies im vorhin genannt script an der Stelle

If rng.Value = "Rot" Then

einbinden?




 

Beiträge aus den Excel-Beispielen zum Thema "Balkenfarbe in Abhängigkeit von Achsenbeschrift"