用宏覆盖内置的excel函数或添加

Eri*_*rik 5 excel vba ms-office excel-vba

是否可以使用VBA宏或加载项中的自定义Excel函数覆盖内置Excel函数?例如,我想覆盖SUM函数并在那里执行自己的东西(SUM只是一个例子).

小智 4

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

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

这是具有优先级的结构:

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

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

希望这对大家有帮助:)