1

我总是需要根据一个键(多个单元格值)比较两个工作表,然后从第二个工作表返回多个单元格值。为了实现它,我需要在使用多个 vlookup 函数返回值之前将单元格连接到两个文件中的一个单元格中。

然后我尝试构建一个UDF,它允许定义搜索键(来自第一个工作表)和搜索键(来自第二个工作表),如果记录匹配,则同时将值分配给不同的单元格。不幸的是,我发现它违反了 Excel UDF 规则,即您不能为返回 UDF 中的单元格设置值。

我不知道为什么 Excel 有这样的限制。它知道它可以在一个子过程中完成。但我真的很想使用 UDF,这样我就可以轻松地将传递参数返回给函数并同时从函数返回一个指标。

请如果您有任何好主意如何解决它。

4

1 回答 1

0

UDF 只能将值返回到它所占据的单元格的原因是因为 Excel 的重新计算逻辑的工作方式:将值返回到不同的单元格会弄乱依赖关系树和计算链。

通过使 UDF 成为多单元格数组公式,您可以从 UDF 返回多个值。但是单元格必须是连续的。
http://fastexcel.wordpress.com/2011/06/20/writing-efiicient-vba-udfs-part5-udf-array-formulas-go-faster/

于 2012-12-07T17:39:09.910 回答