Beliebt

F├╝hren Sie ein Makro f├╝r das ausgew├Ąhlte Diagramm aus - Microsoft Excel, VBA

Ich m├Âchte ein paar schnelle Optionen zu den Diagrammen in einer Tabelle hinzuf├╝gen. Ich m├Âchte ein Diagramm ausw├Ąhlen und das Kontrollk├Ąstchen aktivieren / deaktivieren und der Code wird ausgef├╝hrt.

Die H├Ąkchencodes sind;

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then
DisplayLabels
Else
HideLabels
End If

End Sub

Der Code f├╝r DisplayLabels und HideLabels lautet

Sub DisplayLabels()

With ActiveChart
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).ApplyDataLabels
End With

End Sub

Sub HideLabels()

With ActiveChart
ActiveSheet.ChartObjects("Basic_Chart").Activate
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).DataLabels.Select
Selection.ShowValue = False
End With

End Sub

Das Problem ist, dass wenn ich das K├Ąstchen ankreuze, das Diagrammist nicht mehr ausgew├Ąhlt / aktiv und daher kann der Code nicht funktionieren. Gibt es eine M├Âglichkeit, dies zu umgehen? Ich m├Âchte, dass dieser Code auf mehreren Bl├Ąttern wiederverwendbar ist und sich nicht direkt auf ein Diagramm beziehen kann.

Antworten:

1 f├╝r Antwort Ôäľ 1

Vergessen Sie das Kontrollk├Ąstchen, lassen Sie das Makro bestimmen, ob die Beschriftungen vorhanden sind oder nicht. Im Folgenden wird ├╝berpr├╝ft, ob ein Diagramm ausgew├Ąhlt ist, und ob die Beschriftungen umgeschaltet werden:

If ActiveChart Is Nothing Then
MsgBox "You must select a chart"
Exit Sub
End If
For Each mySeries In ActiveChart.SeriesCollection
On Error Resume Next
mySeries.DataLabels.Select
If (Err.Number = 0) Then
mySeries.DataLabels.Delete
Else
mySeries.ApplyDataLabels
End If
On Error GoTo 0
Next mySeries