在一个更大的 Excel 应用程序中,(25 张工作表、50 个命令按钮、5000 行代码、18 个用户表单……大小 12 MB)……我们从服务器加载表格作为 txt 文件,然后使用标准程序。通过宏,我们在下载后删除所有查询表和连接。
一切都完美而快速,但主表现在越来越慢。即使打开工作簿也需要越来越多的时间,而大小保持不变。
不知何故,我有一种感觉,从 txt_files 传输的数据的剩余部分没有被删除:
#Dim ws As Worksheet
Dim qt As QueryTable
For Each ws In ThisWorkbook.Worksheets
For Each qt In ws.QueryTables
qt.Delete
Next qt
Next ws
If ActiveWorkbook.Connections.Count > 0 Then
For i = 1 To ActiveWorkbook.Connections.Count
ActiveWorkbook.Connections.Item(1).Delete
Next i
EndIf
#
工作簿中没有公式。即使选择 main_sheet + clear 的所有单元格,减速仍然存在......我想在该命令之后所有单元格都是空的......
在其他 24 张表中没有 speed_problems(甚至过滤列表 850.000 x 33)
知道如何检查导致 main_sheet 中工作簿变慢的原因吗?是否有比删除查询表和连接更强大的“清理”命令?是否有任何方法可以记录 excel 在做什么,而它不返回命令?