为什么我的 VBA 自定义函数在 Microsoft Excel 中触发过于频繁?我在哪里更改设置?

为什么我的 VBA 自定义函数在 Microsoft Excel 中触发过于频繁?我在哪里更改设置?

我有一张 Excel 工作表,其中有很多单元格使用了我编写的 VBA 自定义函数。该公式调用 WEBSERVICE 来通过互联网获取信息。我为这些信息付费,当我在浏览器中查看该服务的帐户页面时,我可以看到每次调用该服务的数据费用。这很方便,因为这样我就可以知道 WEBSERVICE 调用何时执行。但令我惊讶的是,当我更改工作表中不相关的单元格时,会出现延迟(对于 WEBSERVICE),并且我在浏览器中看到我刚刚为访问该服务而付费。我甚至可以在右侧没有链接到任何内容的单元格中输入“=1”(这显然不会触发函数),不知何故,具有我的自定义函数的其他地方的单元格之一必须再次执行(尽管没有更改),因为单元格中显示“1”需要 2 秒钟,并且我看到浏览器中的数据费用增加。

是什么导致我的自定义函数再次执行?我以为自定义函数仅在其单元格更改或它们链接到的单元格更改时执行。我该如何修改行为以使其像这样工作?我不希望这些自定义函数在随机不相关的单元格更改时执行。这个设置在哪里?或者我可以在函数中放入哪些 VBA 行来告诉它除了更改单元格(包含函数)或其下属单元格(我的函数的参数)外不执行?

相关内容