Dies ist mein Original-VB.NET-Code. Diesen habe ich versucht, zu VBA zu übersetzen.
In Zeile 3 (Chart_i = ChartObj.Chart) kommt der Fehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht.
Auch, wenn ich direkt alle Charts erfasse, irgendwo im oberen Bereich bleibt er immer stehen.
VB.NET-Quellcode
- Private Sub edit_charts()
- For Each ChartObj As ChartObject In CType(ExcelWorkSheet.ChartObjects, ChartObjects)
- Dim Chart_i As Chart = ChartObj.Chart
- If Chart_i.HasLegend Then
- Chart_i.Legend.Font.Size = 11
- Chart_i.Legend.Font.Bold = True
- End If
- Chart_i.ChartArea.Border.Color = 0 ' 0 = schwarz
- Chart_i.ChartArea.Border.Weight = XlBorderWeight.xlThin
- Dim Achsen As Axes = CType(Chart_i.Axes(), Axes)
- For Each Achse As Axis In Achsen
- Achse.TickLabels.Font.Size = 11
- Achse.TickLabels.Font.Bold = True
- If Achse.HasTitle Then
- CType(Achse.AxisTitle, AxisTitle).Font.Size = 11
- CType(Achse.AxisTitle, AxisTitle).Font.Bold = True
- End If
- Next
- Next
- End Sub
Quellcode
- Sub edit_charts()
- For Each ChartObj In ActiveSheet.ChartObjects
- Chart_i = ChartObj.Chart
- If Chart_i.HasLegend Then
- Chart_i.Legend.Font.Size = 11
- Chart_i.Legend.Font.Bold = True
- End If
- Chart.ChartArea.Border.Color = 0 ' 0 = schwarz
- Chart.ChartArea.Border.Weight = XlBorderWeight.xlThin
- Achsen = Chart.Axes()
- For Each Achse In Achsen
- Achse.TickLabels.Font.Size = 11
- Achse.TickLabels.Font.Bold = True
- If Achse.HasTitle Then
- Achse.AxisTitle.Font.Size = 11
- Achse.AxisTitle.Font.Bold = True
- End If
- Next
- Next
- End Sub
In Zeile 3 (Chart_i = ChartObj.Chart) kommt der Fehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht.
Auch, wenn ich direkt alle Charts erfasse, irgendwo im oberen Bereich bleibt er immer stehen.