在我工作的公司,我们有一个 Excel 电子表格来记录公司去年的采购情况。该表格大约有 1500 行和 30 列。
几天前,此工作表中的筛选开始变得非常慢。筛选任何关键字的任何列大约需要 5 秒钟。这相当长,因为此工作表被筛选了很多次,这很烦人。工作表没有任何公式或对其他工作表或文件的引用。有两个宏在单元格更改上运行,但禁用这两个宏并不能使其更快。
我也尝试删除除一行之外的每一行,但将过滤器应用到剩余的行仍然需要 5 秒钟才能完成。
有人知道为什么它会这么慢吗?
答案1
发生这种情况通常是因为 Excel 认为数据集比实际大得多。例如,如果有人导航到单元格 A1048576 并对其进行格式化,即使它看起来可能没有什么不同,但现在 Excel 认为您有超过一百万行。通过选择单元格 A1 然后按 CTRL + End 来测试。这将带您到 Excel 认为是工作表中的最后一个单元格。如果是这个问题,您可以删除实际数据结束之后的所有行和/或列,保存文件,关闭它,然后重新打开它。这应该会阻止 Excel 将所有这些空单元格视为数据的一部分。如果这不起作用,选择您的数据并将其粘贴到新文件中应该可以解决问题。
答案2
- 全选(Ctrl+ A)
- 转到主页 -> 编辑 -> 清除 -> 清除格式。
- 保存文件并重新应用过滤器。
您已完成。它每次都对我有用;如果它对您有用,请告诉我!
答案3
可能已经太晚了,但请关闭自动计算。在 VBA 中,我使用这两个命令关闭自动计算,应用过滤器,然后重新打开自动计算。
Sub automatic_update_on()
Application.Calculation = xlAutomatic
End Sub
Sub automatic_update_off()
Application.Calculation = xlManual
End Sub
答案4
就我而言,它有助于删除所有评论。对于包含 100,000 多个条目的表,过滤时间从 1.5 分钟缩短到不到一秒。