如何仅删除 Excel VBA 中堆积条形图(甘特图)中不需要的额外图例条目?

木宝

我发现这个问题:“使用VBA空白的系列名称删除图例项”这里非常相似,我有这个问题,但与一捻。

我有两个按钮,“加载图表”和“清除图表”,就像这样加载和清除图表的按钮

该图表是一个堆叠条形图,每个条形图都有多个系列。我有一些填充,其中填充颜色和线条边框已被删除,因此它看起来像甘特图。目前看起来像这样(假人)

作为甘特图的案例持续时间

此外,必须删除名为 padding 的图例条目和末尾的一些额外图例条目。我尝试了以下在负载图表宏结束时触发的代码:

With ActiveChart
        For i = .Legend.LegendEntries.Count To UptoRequiredSeries + 1 Step -1
                    .Legend.LegendEntries(i).Delete
'            Debug.Print .Legend.LegendEntries(i - 1)
        Next i
End With

我不想使用链接问题中建议的 IsFiltered 属性。我真的想删除我不想要的图例条目。问题变得更加复杂,因为我发现图表在清除图表后保留了图例条目的数量。所以下次我加载图表时,现有的图例条目也会被删除。

请求您的帮助,提前致谢。

EDIT1:我遇到这个问题是因为系列比图例多,这是因为某些系列颜色必须重复。例如:A 系列,然后是 B,然后是 Closed,然后是 A。当一种颜色需要重复时,我会创建一个新系列并在数据数组中为它的其他情况设置零。我使用切片操作来设置值数组。

乔恩·珀尔帖

您需要做一些记账,以跟踪要删除的图例条目。不幸的是,系列和图例条目不通过对象模型相关联,这是一个严重的缺点。

然后您需要将它们从最后一个(最高数字)删除到第一个。

您没有进入删除图例条目的标准,但假设您知道要删除最后两个和第一个“填充”。你会做这样的事情:

Dim iSrs As Long
For iSrs = ActiveChart.SeriesCollection.Count To ActiveChart.SeriesCollection.Count - 1 Step -1
    ActiveChart.Legend.LegendEntries(iSrs).Delete
Next
ActiveChart.Legend.LegendEntries(1).Delete

如果比较复杂,你可能只需要设置一个数组(1到.SeriesCollection.Count)并在这个数组中输入True或False是否删除相应的图例条目,然后从最后一个倒数到第一个,如果对应的数组元素为True,删除图例项。

如果您删除了一些条目并需要恢复它们,请删除图例并恢复它。恢复的图例将包含所有图例条目,您可以重新开始。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从VBA的前后单元中删除不需要的字符(Excel)

来自分类Dev

从VBA的前后单元中删除不需要的字符(Excel)

来自分类Dev

删除从特定行开始的不需要的列 - excel vba

来自分类Dev

在VBA中删除不需要的查询

来自分类Dev

从excel vba中一列内的所有单元格中删除不需要的字符

来自分类Dev

在Excel中创建带有时间间隔的甘特图(堆积条形图)

来自分类Dev

如何使用VBA在Excel中搜索单词,然后删除整行?

来自分类Dev

如何使用VBA根据条件删除Excel ListObject中的行?

来自分类Dev

如何删除Excel VBA中的特定列(不完全)

来自分类Dev

如何使用VBA在Excel中搜索单词,然后删除整行?

来自分类Dev

如何使用 VBA 代码从整个 excel 中删除多余的空格?

来自分类Dev

如何从 Microsoft Excel VBA 中删除记事本中的额外回车

来自分类Dev

删除Excel工作表中不需要的行

来自分类Dev

在VBA中的Excel中删除上标

来自分类Dev

Excel VBA 宏仅查找并删除一些需要的单元格

来自分类Dev

使用VBA在Excel中删除图表

来自分类Dev

删除Excel VBA中的列范围

来自分类Dev

VBA 从 Excel 中删除公式符号

来自分类Dev

删除excel中组合框的空行 - VBA

来自分类Dev

如何从R中的excel文件中删除不需要的列?

来自分类Dev

Excel Vba-需要从单行中删除重复项

来自分类Dev

VBA Excel:删除Excel行

来自分类Dev

Excel VBA删除行

来自分类Dev

如何重新排列图例并将其移至ggplot中此堆积的条形图附近?

来自分类Dev

如何仅迭代 Excel VBA 中自动筛选工作表中的行?

来自分类Dev

如何使用VBA在Excel中引用表?

来自分类Dev

如何通过VBA在Excel中插入文本

来自分类Dev

如何在EXCEL VBA中获取行数

来自分类Dev

如何转换Excel公式以在VBA中工作?

Related 相关文章

  1. 1

    从VBA的前后单元中删除不需要的字符(Excel)

  2. 2

    从VBA的前后单元中删除不需要的字符(Excel)

  3. 3

    删除从特定行开始的不需要的列 - excel vba

  4. 4

    在VBA中删除不需要的查询

  5. 5

    从excel vba中一列内的所有单元格中删除不需要的字符

  6. 6

    在Excel中创建带有时间间隔的甘特图(堆积条形图)

  7. 7

    如何使用VBA在Excel中搜索单词,然后删除整行?

  8. 8

    如何使用VBA根据条件删除Excel ListObject中的行?

  9. 9

    如何删除Excel VBA中的特定列(不完全)

  10. 10

    如何使用VBA在Excel中搜索单词,然后删除整行?

  11. 11

    如何使用 VBA 代码从整个 excel 中删除多余的空格?

  12. 12

    如何从 Microsoft Excel VBA 中删除记事本中的额外回车

  13. 13

    删除Excel工作表中不需要的行

  14. 14

    在VBA中的Excel中删除上标

  15. 15

    Excel VBA 宏仅查找并删除一些需要的单元格

  16. 16

    使用VBA在Excel中删除图表

  17. 17

    删除Excel VBA中的列范围

  18. 18

    VBA 从 Excel 中删除公式符号

  19. 19

    删除excel中组合框的空行 - VBA

  20. 20

    如何从R中的excel文件中删除不需要的列?

  21. 21

    Excel Vba-需要从单行中删除重复项

  22. 22

    VBA Excel:删除Excel行

  23. 23

    Excel VBA删除行

  24. 24

    如何重新排列图例并将其移至ggplot中此堆积的条形图附近?

  25. 25

    如何仅迭代 Excel VBA 中自动筛选工作表中的行?

  26. 26

    如何使用VBA在Excel中引用表?

  27. 27

    如何通过VBA在Excel中插入文本

  28. 28

    如何在EXCEL VBA中获取行数

  29. 29

    如何转换Excel公式以在VBA中工作?

热门标签

归档