首页 > 解决方案 > 用VBA对Excel图表的数据表进行排序

问题描述

我以编程方式在 VBA 100% 上生成大量图表。

我的一部分代码在图表上执行此操作:

   ActiveChart.SetElement (msoElementDataTableWithLegendKeys)

但是生成的数据表改变了原始数据的顺序,即使之前已经排序了,这显然是微软的错误:

样品1

这没有道理。数据按降序排列,但图表上的数据表显示为升序。我知道我可以手动更改顺序,右键单击图表并以这种方式手动执行,一一进行:

样品2

但是,正如我们所见,这不是编程方式。我正在自动生成数百个图表,每个图表都有不同的数据。

宏录制不会记录此类更改。我能做些什么来解决这个 Excel 错误?

谢谢。

标签: excelvba

解决方案


我发现当创建图表或更新数据时,它会恢复顺序/排序。所以,我所做的是在第二张表上复制所有数据,并在 VBA 上反转该数据的排序。因此,当我从其他 desc 顺序/排序创建图表时,显示为 asc,反之亦然,如果您愿意。


推荐阅读