Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Farben definieren per VBA
#1
Liebe Excel-Freunde,
ich habe immer wieder Datenmengen, bei denen ich die Daten in gestapelten Balkendiagrammen darstelle. Ich habe Bakterien und die Angabe wie Häufig das Bakterium vorkommt.
Da will ich - wenn möglich -  immer die gleiche Farbe einem Bakterium zuordnen. Damit die Diagramme visuell untereinander vergleichbar sind. Jetzt habe ich im Internet ein Tutorial mit passendem VBA Code gefunden, allerdings wird mir dann immer folgende Fehlermeldung angezeigt:
"Ein Fehler ist aufgetreten (Fehler: 2147024809)".

Ich verstehe allerdings nicht warum. Ich hoffe ihr könnt mir helfen - langsam verzweifel ich Huh ..

Code:



Code:
Sub Farben_Diagramm()

Dim chtDiagramm As Chart
Dim i As Integer, j As Integer, intColor As Integer, intSeries As Integer
Dim strName As String, strChart As String, strBlatt As String
On Error GoTo ErrorHandler
    strBlatt = "Versuch"
    strChart = "chartPersonal"

    Set chtDiagramm = Sheets(strBlatt).ChartObjects(strChart).Chart
    intSeries = chtDiagramm.SeriesCollection.Count

    chtDiagramm.SetElement (msoElementDataLabelNone)
    chtDiagramm.SetElement (msoElementDataLabelCenter)

    For i = 1 To intSeries
        strName = chtDiagramm.SeriesCollection(i).Name
        For j = 2 To Range("rng_Orte").Value + 1
            If Sheets("Versuch").Cells(j, 9).Value = strName Then
                intColor = Sheets("Versuch").Cells(j, 14).Value
                With chtDiagramm.SeriesCollection(strName)
                    .Format.Fill.Visible = msoTrue
                    .Format.Fill.ForeColor.RGB = RGB(Sheets("Versuch").Cells(j, 11).Value, _
                        Sheets("Versuch").Cells(j, 12).Value, Sheets("Versuch").Cells(j, 13).Value)
                        
                    With .DataLabels.Format.TextFrame2.TextRange.Font.Fill
                        .ForeColor.RGB = RGB(intColor, intColor, intColor)
                        .Solid
                    End With
                    .DataLabels.Format.TextFrame2.TextRange.Font.Bold = msoTrue
                End With
                
            End If
        Next j
    Next i
    
    Exit Sub
    
ErrorHandler:
    MsgBox "Ein Fehler ist aufgetreten", vbInformation, "Fehler " & Err.Number
End Sub


Liebe Grüße,
Kathrin
Antworten Top
#2
Hier geht es weiter:
http://www.office-loesung.de/p/viewtopic.php?f=166&t=795539
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • schauan
Antworten Top


Gehe zu:


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