0

我对 VB 或 VBA 非常陌生,但最近使用 Excel 需要大量重复。这就是为什么我现在正在考虑使用 VBA 宏方法来简化该过程。

工作很简单——用给定的数据生成图表。但是要创建数百个图表,所以我使用复制和粘贴来保持样式一致性,然后更改其中的值。

数据处理得很好,但轴标签并不那么顺利。我试图用来ActiveChart.SeriesCollection(1).XValues = "=<sheet_name>!$<row_num>$<col_num>"将值修改为相应单元格中的一些现有文本,但它在图表上没有解决,即,如果标签是“总计”,就像在 A6 单元格中一样,在原始图表中我从中复制的,在选择粘贴的图表并执行上面的命令后,新图表中的标签仍然显示“总计”,而不是 B6 单元格中的内容,例如“中国”。但是当我右击图表进入“选择数据”时,“水平(类别)轴标签”确实变成了“=sheet1!$B$6”,这让我很困惑。

任何人都知道这是怎么发生的以及如何解决这个问题?图表对象是否有“更新”方法或我缺少的任何东西?

我目前正在使用 Excel 2010。

4

1 回答 1

1

欢迎来到 Excel VBA 的陌生世界。

SeriesCollection().XValues需要一个Range对象或一个点数组,因此您必须将字符串转换为一个范围:

ActiveChart.SeriesCollection(1).XValues = Sheets(<sheet_name>).Range("$<row_num>$<col_num>")
于 2013-03-24T11:52:11.677 回答