我正在尝试减少在 Excel 文档中需要进行的机械工作量。它有 13 个工作表,每个月一个,还有一个汇总全年。每个工作表中都有一些数据和一些图表。我想制作一个包含两列并绘制它们的图表。然后我想复制图表并将其粘贴到下一页,它将从相同的列中获取数据。问题是,当我创建图表时,它会写入以下范围
='02.2016 Д2'!$A$2:$A$30,'02.2016 Д2'!$C$2:$C$30
所以当我将其复制到下一个工作表时,它仍然使用上一个工作表中的数据。我会逐个修复它们,但有 13 个工作表 * 8 个图表,我倾向于相信有一种更简单的方法。
答案1
首先是坏消息:您不能在 Excel 图表中使用相对引用。 他们必须指向特定的表格并且到处都有“$”。
最好的办法是复制表格而不是图表。如果图表指向同一张表中的数据,Excel 将调整引用。然后您只需将适当的数据放入每张表中即可。
我每天都会做这样的事情,在我看来最佳的工作流程是:
1) 创建您所需的单个月份的工作表。
2) 将所有与工作表相关的内容参数化,并将数据放在单独的工作表中。这样做的目的是手动更改每张工作表中的 1 个单元格*。
3)复制表格并更改参数。结束。:)
这也符合正确的表格设计:数据和分析分开,前者尽可能采用最压缩的形式(例如,所有内容都使用一张表格:))。
*) 您实际上可以使用工作表的名称,但通常不建议这样做。
如果出于某种原因上述解决方案不可接受,您可以使用 VBA 替换工作表中的源引用。说明很简单:
refChart.SetSourceData Source:=Range("A1:C4")
不过,循环遍历选定的工作表并分配适当的范围可能会很棘手。