【发布时间】:2015-09-09 20:31:43
【问题描述】:
所以我看到了一些关于这个主题的帖子,但似乎无法找到让它发挥作用的方法。我的目标是使用具有以下特征的 VBA 创建堆积柱形图:
- 每一列都基于一行中的数据(例如
E6:P6、E7:P7等)。 - 每个“堆栈部分”是该行中的每一列(位于
E4:P4) - X 轴标签位于 A 列中(例如
A6、A7等) - Y 轴标签动态基于数据(非特定)。
- 图表标题(这是最简单的部分 - 我知道了)。
当然,我还需要显示项目 2 使用的颜色键的图例。
此图表是我通过 VBA 从原始数据文件生成的 30 多个报告中每个报告所需的三个之一。报告的最后一步是制作这些图表。 我能够创建堆叠图,但最大的问题是,正如上面的数据范围所示,数据中存在差距。这会导致图表中的分割部分以及我不想要的其他标签。本质上,我不知道如何格式化图表,并阅读从键入“ActiveChart”弹出的对象窗口。只让我走到这一步。如果我知道各种格式化命令(唉,我是 VBA 和 Excel 的新手),我可以在我需要的所有图表中复制它。
Dim data As Range
Set data = Range("A4:P12")
With Charts.Add
.ChartType = xlColumnStacked
.SetSourceData Source:=data, PlotBy:=xlColumns
.HasTitle = True
.ChartTitle.Text = "Weekly Report"
.Location Where:=xlLocationAsObject, Name:="Sheet1"
End With
我可以做的例子: Output Graph
关于空白数据的附注:最左边的空白点是空列 D。我还需要能够编辑轴标签。
【问题讨论】:
-
宏记录器通常是找出这些 API 的好工具。
-
这看起来像:“我希望有人为我开发解决方案”之类的问题,除非它们非常简单(即明显的运行时错误等),否则这里通常不赞成。考虑提供您的 VBA 代码尝试,并指出您遇到的特定问题,而不仅仅是“告诉我如何做全面的解决方案”。干杯。
-
@DavidZemens 对不起,我认为它需要的代码量很少,不值得一看我失败的东西。我现在就贴出来。