VBA绘制动态范围

时间:2013-02-04 23:55:33

标签: excel vba plot

我有一个excel 2010宏启用的工作簿。该工作簿有几张。第一个工作表有一个宏分配按钮,用于导入csv文件。 csv文件加载到名为“Data”的现有工作表中。导入的csv文件加载到列中,第1行充当下面数据的标题。例如,A1被命名为“时间”,而单元格A2被命名为时间数据。单元B1被命名为“温度”,单元B2向下是与每次读取相关的温度数据。该工作簿在工作簿中有第三个现有工作表,名为“Temperature Plot”。我想通过参考“数据”表中的值自动绘制此表上的温度与时间的关系图。 (时间是x轴,Temp是y轴)

问题是加载到“数据”表中的导入的csv文件每次都会有不同的行数。有时,导入的csv文件可能包含25行数据,有时可能包含100,000行数据。假设我导入了一个包含1000行数据的csv,工作簿也会绘制空白单元格,因为我的图表已预先设置为捕获整个列。结果,图表数据被挤压到左侧。如果我预先设置要绘制的行数为1000,那么下一个导入的超过1000行的csv文件将不会超过1000行。

我尝试使用#NA公式渲染单元格以避免绘制空单元格,但此解决方案会创建一个大型文件。

有没有办法创建一个生成数据线图的宏:

y轴=(B2到最后一个带有数字的B单元格) 与 x轴=(A2到最后一个带数字的单元格)

因此,每次打开工作簿并导入新的csv文件(无论行数多少)时,图形都会绘制带有数字的单元格,而不会绘制空白单元格?

非常感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:0)

通过使用动态范围,您可以根据您拥有的数据量创建一个扩展和收缩的命名范围。您将创建两个命名范围,一个用于x,一个用于y,然后绘制范围。 现在不是来自PC,但是这将使用offset命令完成(动态范围)。