06.02.2019, 17:09
(Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2019, 17:15 von WillWissen.
Bearbeitungsgrund: Codetags
)
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
..
Code:
Liebe Grüße,
Kathrin
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

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