Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA-Excel2007将其他工作簿中的图表数据添加到一个系列中_Vba_Excel_Charts - Fatal编程技术网

使用VBA-Excel2007将其他工作簿中的图表数据添加到一个系列中

使用VBA-Excel2007将其他工作簿中的图表数据添加到一个系列中,vba,excel,charts,Vba,Excel,Charts,我需要创建一个图表,当宏运行时,它将从外部源获取数据。设置UserForm和所有这些都很好,都完成了。然而,我不知道如何添加该系列的另一部分 甚至可能有一个系列从几个不同的位置获取数据吗?基本上,我需要按时间顺序(横轴都是日期),但每个日期完全来自不同的工作簿。我已经试着让Excel用它的基本功能来实现这一点。我就是不能把它放到图表里。如果可能的话,我不想把所有的参考数据都和图表一起复制到工作簿中,因为它已经有了16个以上的图表,它们将出现在自己的工作表上 有人知道如何让Excel在一个系列中接

我需要创建一个图表,当宏运行时,它将从外部源获取数据。设置UserForm和所有这些都很好,都完成了。然而,我不知道如何添加该系列的另一部分

甚至可能有一个系列从几个不同的位置获取数据吗?基本上,我需要按时间顺序(横轴都是日期),但每个日期完全来自不同的工作簿。我已经试着让Excel用它的基本功能来实现这一点。我就是不能把它放到图表里。如果可能的话,我不想把所有的参考数据都和图表一起复制到工作簿中,因为它已经有了16个以上的图表,它们将出现在自己的工作表上


有人知道如何让Excel在一个系列中接受多个不同的引用吗?如何使用VBA实现这一点?我对VBA不太在行,只是以前不必处理图表。

我认为不能从多个范围/地址获取单个系列的单轴,但可以编写VBA将图表系列的值设置为特定值,而不是连续范围。以下是帮助中的一个示例:

Charts("Chart1").SeriesCollection(1).Values = Array(1, 3, 5, 7, 11, 13, 17, 19)
Charts("Chart1").SeriesCollection(1).XValues = Array(5.0, 6.3, 12.6, 28, 50)

您必须编写代码来读取不同工作簿中超出范围的值,但这应该是可行的。

您不能将不同工作表中的数据合并到一个系列的值或其XValue中。(可以将一张图纸中的数据用于X,另一张图纸中的数据用于Y)

我建议设置一个图表数据工作表,然后从每个数据表中复制数据并粘贴到此表中


对数据使用数组的问题是数组的长度限制在250个字符左右。包括逗号,并且假设只有一个2位数字,没有十进制数字,这意味着您只能得到80个值。如果您有浮点值,您将幸运地获得大约15个以上的值。

对于那些不知道的人,当涉及到有关Excel图表的问题时,最好从Jon Peltier的网站开始,然后只有在那里找不到答案时才来stackoverflow。。。