gpt4 book ai didi

vba - Excel图表VBA循环数据标签

转载 作者:行者123 更新时间:2023-12-02 16:43:58 25 4
gpt4 key购买 nike

我有很多工作表,每个工作表上都有一个图表,我想循环遍历每个图表中的每个数据标签,删除任何等于 0 的数据标签,但似乎无法提取数据标签值。

With ActiveChart
For k = 1 To .SeriesCollection.Count
For j = 1 To .SeriesCollection(k).Points.Count
For l = 1 To .SeriesCollection(k).Points(j).DataLabels.Count
If .SeriesCollection.Points(j).DataLabels(l) = 0 Then
.SeriesCollection.Points(j).DataLabel(l).Delete
End If
Next l
Next j
Next k
End With

(忽略激活每个图表的每个工作表的循环,该位有效,因此可以保持代码示例最少)

任何人都可以建议如何循环数据标签、检查值并在适当的情况下删除吗?

最佳答案

你很接近!

您只是错过了 .Caption 来检查 DataLabel 内文本的值!

我将 DataLabels(l) 更改为 DataLabels.Item(l)(您的代码存在不一致之处)。

With ActiveChart
For k = 1 To .SeriesCollection.Count
For j = 1 To .SeriesCollection(k).Points.Count
For l = 1 To .SeriesCollection(k).Points(j).DataLabels.Count
If .SeriesCollection.Points(j).DataLabels.Item(l).Caption = 0 Then
.SeriesCollection.Points(j).DataLabels.Item(l).Delete
End If
Next l
Next j
Next k
End With

OP使用的最终代码:

With ActiveChart
For k = 1 To .SeriesCollection.Count
For j = 1 To .SeriesCollection(k).Points.Count
If .SeriesCollection(k).Points(j).DataLabel.Caption = 0 Then
.SeriesCollection(k).Points(j).DataLabel.Delete
End If
Next j
Next k
End With

关于vba - Excel图表VBA循环数据标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41959850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com