从excel单元格调用excel工作表函数

Posted

技术标签:

【中文标题】从excel单元格调用excel工作表函数【英文标题】:calling excel worksheet function from excel cell 【发布时间】:2010-12-08 19:04:45 【问题描述】:

我有一组用户定义的 vba 函数,它们位于 excel 模块中,然后从 excel 电子表格中调用...此时一切正常。

我被要求将 vba 从模块移动到工作表的代码页。当我这样做时,我发现我无法从工作表上的单元格中调用任何函数......名称根本不显示为存在。有没有办法从excel单元格调用工作表函数?另外,从另一个模块或工作表代码中的用户定义函数调用工作表函数是否有任何问题?


编辑:

我发现如果我通过 sheetname.functionname 调用,它会抛出一条错误消息,其中包括“名称与 Excel 内置名称或工作簿中另一个对象的名称冲突”......如果我在哪里使用 sheetname.anythingelse 它只是解析为#NAME?

这是否意味着无法从工作表中调用 Excel 工作表函数?

【问题讨论】:

【参考方案1】:

没有。工作表对象中的函数不能作为用户定义函数从工作表中调用。

Worksheet 对象旨在响应工作表上发生的事件。您不能将用户定义的函数放在那里。用户定义的函数必须存在于一个模块中。

如果您的用户定义函数确实存在于模块中,那么从其他任何地方的代码调用它都不会有任何问题...包括在“代码隐藏”工作表中。

【讨论】:

【参考方案2】:

您必须将代码放在标准模块中。 检查此链接。

http://www.cpearson.com/excel/writingfunctionsinvba.aspx

【讨论】:

以上是关于从excel单元格调用excel工作表函数的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL函数中直接引单元格中路径

是否可以从单元格调用写在工作表中的用户定义函数?

将单元格值从 Excel 拉入 Word(运行时错误 429)

excel两个工作表如何关联

在EXCEL中

使用工作表函数编写自定义 Excel 函数的问题