excel - 在目录的 Excel 中提供文件列表会减慢 excel
问题描述
我需要在 Excel 工作簿的目录中提供当前文件列表,并且一切都按要求工作,只是太慢了。我真的只需要在打开工作簿时检查它是否是最新的列表。执行此操作大约需要 11 秒,这是可以接受的,但问题是每次我对工作簿进行微小的编辑时,它都会不断重新检查(我猜是因为它是作为 Excel 表格引入的)。我使用提供的 rangetimer() 函数确定了我的工作簿中的延迟,这是唯一需要很长时间来计算的东西。我还应该说明,包含文件列表的表格最终在另一个工作表的单元格中使用,以提供数据验证下拉列表,但不相信这真的是问题所在。
我做了一些关于减少 Excel 计算时间的谷歌搜索,发现有一些 Excel 函数肯定是增加计算时间的罪魁祸首(描述为 volatile),其中三个(NOW、INDEX 和 ROW)用于提供我想要的功能在工作簿的这一部分。
到目前为止,我已经尝试了两种解决方案: 1. 在 VBA 属性窗口中强制完全计算设置为真 2. 将计算切换为手动。一旦我确定工作簿的这一部分是问题,我将其设置回自动,因为我通常不希望手动计算。
我在命名范围(TutorFileList)的“引用”框中的公式是:'''=FILES("\O008DC01\Shared\Tutor Qualifications*")&T(NOW())'''
我在excel表的每个单元格中的公式是:'''=IFERROR(INDEX(TutorFileList,ROW()-1),"")'''
我想要的是大约 11 秒的计算时间来找到这些文件,减少到只检查网络目录,而不是每次修改工作簿时都需要 11 秒的自动重新计算。
如果有更有效的方法来实现我正在做的事情,我准备重新设计东西,但我确实需要单元格中特定目录中文件下拉列表的功能。
非常感谢任何人对此的帮助。
解决方案
我通过将行数减少到大约 200 行而不是 500 行来解决我的问题。这使计算延迟回到了我可以忍受的大约一秒。
推荐阅读
- ros - 为什么不是所有五个防水 JSN-SR04T 超声波距离传感器都将 ping 传送到 ROS Noetic?
- python - Python中如何将YOLO格式注解转换为x1,y1,x2,y2坐标?
- python - SikuliLibrary 图像识别功能在 Windows 上不起作用
- node.js - Visual Studio 构建 njsproj Node.js 项目,即使自上次构建以来没有任何更改
- javascript - RxJs:当全部取消订阅时,中止延迟和共享的 observable
- javascript - 让引导程序使用 gridstack 小部件大小来调整大小?
- c# - 当输入记录数 > 1000 条记录时有效调用 GetByIds(MS Graph API 方法)
- azure - 从数据存储区加载 Azure ML 试验运行信息
- java - 如何更改/刷新 maven project.basedir 属性?
- data-visualization - 3D数据网络可视化