我可以在Excel VBA中编写一个UDF,其中函数的返回值将覆盖从中调用的单元格值吗?
该函数使用sql请求获取信息。在这种情况下,它只是主数据,例如项目描述。如果用户将在许多单元格的工作表中使用此功能,则每次更改内容时,excel都会重新计算单元格值。这性能很差,通常只需要获取一次信息,在这种情况下不需要更新。
我想使用application.caller.address方法来获取调用函数的地址,但似乎无法在函数中设置此地址的单元格值。 因此,函数的返回值应该覆盖运行函数的原始公式。
这可能吗
感谢您的帮助
答案 0 :(得分:0)
否强>
您可能已经注意到Excel单元格有多个图层。
一个是"值"。另一个你可以分配的公式。
一个函数返回一个值,因此返回值只访问该层。所以你不能返回公式的替代品,因为它在另一层上。
函数与返回值中的sub不同,sub不返回任何内容。由于您的行为一次性使用" sub不仅仅适合函数,因为你不想返回一个值,而是从cell(公式)中删除或替换某些内容。
但是,这并不意味着您无法使用函数执行此操作 - 但仍然没有返回值。但是如果要使用这样的函数,则需要在数据刷新时重写整个公式。
你可能错过了一个让你自己开怀大笑的观点。 Excel本身就有这样的东西。但它不是一种功能。
复制您的单元格并粘贴它们,但仅使用"值"。
完全有同样的效果。
另外在重新计算方面......为什么不把它关掉? 这样你就不会每次都重写这个函数。