我被要求调整每次打开工作表时加载的特定函数的性能(因此重要的是它不会使事情变慢)。似乎使这个函数变慢的一件事是它对数据库(这是远程的)进行了长时间的调用,但也有很多其他的可能性。到目前为止,我一直在单步执行代码,当某些事情似乎需要很长时间时,将其记为调优的候选对象。
我想要一种更客观的方式来判断哪些电话正在减慢我的速度。搜索时间和 VBA 会产生很多结果,基本上相当于“编写一个计数器,并在临界区的任一侧启动和停止它”(通常使用显式调用的宏)。我想知道是否有办法(在调试器中)执行类似“跳到下一行,并告诉我经过的时间”之类的操作。
如果没有,有人可以建议一个合理的宏,我可以在“立即”窗口中使用它来获得我想要的东西吗?具体来说,我希望能够在一个更大的过程中对任意代码行进行计时(而不是一次整个过程,这是我通过谷歌找到的)。