我可以为我的加载项创建Excel公式,以便为要使用的加载项提供值吗?

时间:2017-06-27 16:53:54

标签: excel vba excel-addins

我想从休息服务器获取时间序列数据并将其插入电子表格,并且还能够将数据从电子表格上传到服务器。

目前,我有一个VBA解决方案,可以在单元上循环或下载它找到的值。

这非常容易出错,并且验证代码的数量正在增长和增长。

我想在加载项上创建一个公式,它接受符号单元格和日期/时间单元格,并显示时间序列中的数据点,有点像这样的符号在B2和col A中的日期/时间:

=getDataPoint(B2, A7)
=getDataPoint(B2, A8)
=getDataPoint(B2, A9)
=getDataPoint(B2, A10)

然后我会在每个单元格中使用公式填充列范围以获得完整的时间序列。我们的想法是减少所需的验证量。

理想情况下,这会在打开电子表格时或单击按钮时填充单元格。

我可以使用什么来实现这一点,假设它可能并且还可以实现快速处理时间?

假设我可以这样做,加载项是否可以在范围的底部添加另一行并在其中插入公式,例如星期一,我有

=getDataPoint(B2, A7)
=getDataPoint(B2, A8)
=getDataPoint(B2, A9)
=getDataPoint(B2, A10)

然后在星期二,其他人使用星期二的数据更新了服务器上的时间序列,所以我检索它,看到额外的值,并希望像这样自动扩展范围(日期/时间)在A)栏中:

=getDataPoint(B2, A7)
=getDataPoint(B2, A8)
=getDataPoint(B2, A9)
=getDataPoint(B2, A10)
=getDataPoint(B2, A11)

我对VBA的体验告诉我,Excel不会喜欢这样,但我认为我不太了解Excel插件范例。

1 个答案:

答案 0 :(得分:0)

我并不完全相信这是你正在寻找的东西,所以请纠正我如果我错了。

在Excel工作簿中定义getDataPoint(Range, Range)函数后,添加所需的引用(如果有)并将文件另存为Excel加载项(.xlam)。不要忘记在VBE属性中命名项目,因为稍后您将需要该名称来添加对它的引用。所有项目都默认为 VBAProject ,因此在添加引用时很难区分它们。

创建加载项后,通过选项>>将其添加到工作簿中。 加载项>> Excel加载项。通过工具>>添加对项目的引用。在VBA编辑器中引用

现在可以像调用任何内置函数一样调用您的函数:=getDataPoint(B2, A7)

仅供参考,您可以通过Application.Caller属性获取函数中的调用范围。

注意:

我正在使用Excel 2010,因此选项菜单可能与您的略有不同。

希望这有帮助。