excel - 使用宏或添加项覆盖内置 Excel 函数

标签 excel ms-office vba

是否可以使用 VBA 宏或加载项中的自定义函数覆盖内置 Excel 函数?例如。我想重写 SUM 函数并在那里执行自己的操作(SUM 只是这里的一个示例)。

最佳答案

这可能是一个简单的问题,但答案是每个 vba(excel)程序员都应该熟悉的:

当函数名称发生冲突时,会遵循一个层次结构。

以下是优先级结构:

  1. 第一优先级给予默认 Excel 函数(例如 Sum、Count 等)
  2. 第二优先考虑引用 dll 函数。 (稍后再说...)
  3. 第三优先级给予加载项功能(例如 Days360 - 如果是 excel 2003)
  4. 第四优先级给予您创建的模块函数或自定义 UDF。

还请记住,在第二优先情况下: 如果两个或多个引用具有相同的函数名称(例如,如果我们同时引用 ADO 库和 DAO 库,则可能会出现一些名称冲突),那么您可以根据需要手动设置优先级。在 Excel VBA IDE 中,转到“工具”>>“引用”>> 选择任何库,然后在窗口右侧单击“优先级向上/向下”以增加或降低函数库的优先级。

希望这对大家有帮助:)

关于excel - 使用宏或添加项覆盖内置 Excel 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702502/

相关文章:

java - 用java替换字符串中文本的最佳方法

javascript - Excel for Windows 中的开发工具控制台

java - 如何读取 .doc 文件中的图像

vba - 如何使用 VBA 调用 Microsoft Graph API?

c# - 该命令需要至少两行源数据

excel - 如何检测事件是由最终用户触发的? (通过代码忽略事件触发)

Excel FILTER返回数组非零列

sql - 如何根据另一个字段中的查找值返回一个字段中的值

VBA 返回不同工作簿中范围值的总和

vba - 有没有办法为 VBA 中的一组类设置一组通用属性?