在目录的Excel中提供文件列表会降低Excel的速度

在目录的Excel中提供文件列表会降低Excel的速度,excel,Excel,我需要提供Excel工作簿目录中的当前文件列表,所有内容都按要求运行,只是速度太慢了。我只需要在打开工作簿时检查列表是否为当前列表。这样做大约需要11秒,这是可以接受的,但问题是每次我对工作簿进行小的编辑时,它都会不断地重新检查(我想这是因为它是作为Excel表格引入的)。我使用提供的rangetimer()函数确定了工作簿中的滞后时间,这是唯一需要花费很长时间计算的事情。我还应该指出,包含文件列表的表最终会在另一个工作表的单元格中使用,以提供数据验证下拉列表,但我不认为这是真正的问题 我在谷歌

我需要提供Excel工作簿目录中的当前文件列表,所有内容都按要求运行,只是速度太慢了。我只需要在打开工作簿时检查列表是否为当前列表。这样做大约需要11秒,这是可以接受的,但问题是每次我对工作簿进行小的编辑时,它都会不断地重新检查(我想这是因为它是作为Excel表格引入的)。我使用提供的rangetimer()函数确定了工作簿中的滞后时间,这是唯一需要花费很长时间计算的事情。我还应该指出,包含文件列表的表最终会在另一个工作表的单元格中使用,以提供数据验证下拉列表,但我不认为这是真正的问题

我在谷歌上搜索了一下减少Excel计算时间的方法,发现有些Excel函数确实是增加计算时间的罪魁祸首(称为volatile),其中三个函数(现在是INDEX和ROW)用于提供我希望在工作簿这一部分中使用的功能

到目前为止,我尝试了两种解决方案: 1.在VBA属性窗口中强制将完整计算设置为True 2.将计算切换到手动。一旦我确定工作簿的这一部分是问题所在,我就将其设置为自动,因为我通常不希望手动计算

我在命名范围(TutorFileList)的“引用”框中的公式是: ''=文件(“\O008DC01\Shared\Tutor Qualifications*”)&T(NOW())''

我在excel表格的每个单元格中的公式是: ''=IFERROR(索引(TutorFileList,行()-1),“”)

我想要的是,查找这些文件的计算时间减少到11秒,只需对网络目录进行一次检查,而不是每次修改工作簿都需要11秒的自动重新计算

如果有更有效的方法来实现我正在做的事情,我准备重新设计,但我确实需要单元格中特定目录中的文件下拉列表的功能


非常感谢所有人在这方面的帮助。

我已经解决了我的问题,将行数从500行减少到200行左右。这会使计算延迟回到我可以忍受的大约一秒钟。

我应该说明我已经使用了500行单元格公式(这超过了我预期列表增长到的最大值)。此外,Excel 2016是我正在使用的,也是我创建工作簿的地方。另一位在Excel 2010上输入此内容的工作人员没有这样的延迟,因此可能这是Excel更高版本的一个问题。