2012-12-14 28 views
1

我有数据标签我已经应用到图表,现在我试图删除那些小于1%的标签。以下是我有 -删除数据标签,如果低于一个值

Dim cht As Chart 

Set cht = ActiveChart 


If Range("B8") < 0.01 Then 
    cht.SeriesCollection(1).DataLabels.Select 
    Selection.Delete 
End If 

我不太清楚我在做什么错的,但所有的数据标签都被删除。你知道为什么吗?谢谢!

回答

2

您将删除此代码中整个系列的DataLabels。

您需要做的是删除系列上特定点的DataLabel。

这应做到:

Dim cht As Chart 

Set cht = ActiveChart 

If Range("B8") < 0.01 Then 
    cht.SeriesCollection(1).Points(1).DataLabel.Delete 
End If 

SeriesCollection(1)是图表中的第一个系列。 Points(1)是图表中的第一个点。根据需要调整代码。

+0

你能解释(1)在SeriesCollection(1)中表示什么吗? – Chris2015

+0

更改为SeriesCollection(2)会有什么意义?谢谢 – Chris2015

+0

@ user1813558 - >我在答案中写道。 '(1)'是第一个系列集合......思考数据范围......所以'(2)'是第二个系列或数据范围。 –