我有一个电子表格,它链接到其他几个电子表格,以提取编译成一张表的数据;我的任务是修改工作表以绘制这些数据。一个人的报告中每个月有一行 12 个插槽;如果一个人在一个月内工作,则该月将显示在相应的插槽中。对于图表,我已经想出使用动态名称范围,以便图表中的月数等于该行中存在的月数;唯一的问题是起始点会根据一个人开始的月份而变化。
我可以制作一个相当大的嵌套 if 语句,但这似乎不是解决我的问题的好方法。有没有办法让 VBA 脚本更改动态名称范围的值或直接修改图表的值?如果这不是一个可行的选择,除了动态命名范围之外,还有其他方法可以解决这个问题吗?
我无法更改此报告表的行为方式,因为这是与工作相关的电子表格,并且出于报告原因,他们希望它是这样的;我只是想添加图形功能。
例子:
https://www.dropbox.com/s/zn6yt4l6kjvwq33/Example1.xlsx https://www.dropbox.com/s/j88tgoik68s4lhx/Example2.xlsx
在第一个示例中,当您从代理名称旁边的下拉框中选择“第二个”时,您会看到一个问题示例。它在图表中包含无意义的数据。
在第二个示例中,我通过将 if 语句添加到图表中使用的动态命名范围来解决问题;但是正如你所看到的,包括 2 个月,它现在已经很庞大了,而且要包括所有 12 个月,这几乎是不可能的。如果我要添加一个三月份开始的第三个人,他们也不会在第二个例子中工作。
有没有办法可以使动态名称范围中的值可以通过 VBA 更改?我可以直接使用 VBA 修改图表的值吗?有没有办法在不使用 VBA 的情况下绕过这个问题?
谢谢。