使用macros或添加内容覆盖内置的Excel函数

是否有可能从一个VBAmacros或从一个加载项重写一个自定义的内置的Excel函数? 例如我想重写SUM函数并在那里执行自己的东西(SUM在这里只是一个例子)。

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

存在函数名称冲突时会出现一个层次。

这里是优先的结构:

  1. 给予默认excel函数的第一优先级(例如Sum,Count …)
  2. 赋予参考dll函数的第二优先级。 ( 稍后 …)
  3. 第三优先级给予附加function(例如,Days360 – 在Excel 2003的情况下)
  4. 赋予您创build的模块函数或自定义UDF的第四优先级。

还要记住,在第二优先级情况下:如果两个或多个引用具有相同的函数名称(例如,如果我们一起引用ADO库和DAO库可能会有一些名称冲突),那么可以根据需要手动设置优先级。 在Excel VBA IDE中,转到工具>>参考>>select任何库,在窗口的右侧单击优先级UP / DOWN来增加或减lessfunction库的优先级。

希望这有助于所有:)