2010-11-12 57 views
0

我有一个DLL通过COM暴露给我的Excel工作簿中的VBA宏。在dll中,主函数将来自工作表中各个单元格的一组数据作为输入,并生成一个输出表以显示在同一个Excel工作表的其他位置。我试图弄清楚如何随时调用一个输入单元来调用这个函数,同时填充所有的输出单元。如何将Excel单元映射到返回数据表的VBA函数?

它引起了我的注意,一个VBA UDF cannot write to the speadsheet calling it(没有副作用)...它只能从电子表格读取并通过函数主返回值返回值。

有没有一种很好的方法来将大型输入集映射到大型输出集,而无需为表中的每个条目单独调用dll?

回答

1

是的。如果函数返回一个数组,你可以选择所有未来结果的细胞,一旦输入公式,

=TheFunction(a1,b2,c3) 

,然后按Ctrl键++输入