excel - 用VBA对Excel图表的数据表进行排序
问题描述
我以编程方式在 VBA 100% 上生成大量图表。
我的一部分代码在图表上执行此操作:
ActiveChart.SetElement (msoElementDataTableWithLegendKeys)
但是生成的数据表改变了原始数据的顺序,即使之前已经排序了,这显然是微软的错误:
这没有道理。数据按降序排列,但图表上的数据表显示为升序。我知道我可以手动更改顺序,右键单击图表并以这种方式手动执行,一一进行:
但是,正如我们所见,这不是编程方式。我正在自动生成数百个图表,每个图表都有不同的数据。
宏录制不会记录此类更改。我能做些什么来解决这个 Excel 错误?
谢谢。
解决方案
我发现当创建图表或更新数据时,它会恢复顺序/排序。所以,我所做的是在第二张表上复制所有数据,并在 VBA 上反转该数据的排序。因此,当我从其他 desc 顺序/排序创建图表时,显示为 asc,反之亦然,如果您愿意。
推荐阅读
- python - 当第 n 列值为“x”时,访问 Pyspark 数据帧的第 (n+1) 列
- powershell - 如何在没有身份验证的情况下从 Powershell 脚本发送电子邮件?
- android - 我可以在不重新启动活动的情况下应用夜间模式吗?
- django - 从 django-autocomplete-light m2m 字段中删除 help_text
- python - 如何用当前时间步长特征训练 LSTM?
- javascript - 我需要在 nodejs 中使用 npm exceljs 包运行宏
- amazon-web-services - 在 GSI 中更新 PROJECTION 字段的正确方法是什么?
- regex - 如何使用完全匹配的 grep 行
- javascript - 反应性更改后Vue显示的文本未更新
- html - 这两个jquery函数有什么区别?