Excel 代码在取消隐藏行和列时速度减慢

Excel 代码在取消隐藏行和列时速度减慢,excel,vba,Excel,Vba,我有一个循环工作表执行某些任务的过程。 在每个工作表上,如果有任何行/列被隐藏,并且“自动筛选”模式处于启用状态,则必须选中该选项。如果是,则必须取消隐藏它们并关闭自动筛选。我的代码中有类似的内容: If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilter.ShowAllData Columns.EntireColumn.Hidden = False Rows.EntireRow.Hidden = False 我注意到,行Rows

我有一个循环工作表执行某些任务的过程。 在每个工作表上,如果有任何行/列被隐藏,并且“自动筛选”模式处于启用状态,则必须选中该选项。如果是,则必须取消隐藏它们并关闭自动筛选。我的代码中有类似的内容:

If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilter.ShowAllData 
Columns.EntireColumn.Hidden = False 
Rows.EntireRow.Hidden = False 
我注意到,行
Rows.EntireRow.Hidden=False
上的过程会减慢。大概需要1-2秒。所以,对于很少的工作表,这不是一个大问题,但是对于很多工作表,它会影响宏的速度


您现在知道做这件事的更好方法吗?

不显示所有数据取消隐藏隐藏行?在UsedRange之外隐藏行或列的可能性有多大?即使有,为什么还要麻烦取消隐藏它们?以任何方式更改工作表都会降低代码的速度,应该尽可能避免。也许根本不隐藏/取消隐藏;也许可以将这些数据放在单独的工作表中。要隐藏/取消隐藏的行中公式越多,速度就越慢。查看如何对活动工作表的列和行进行操作,也许您可以取消激活工作表/设置
Application.screenupdate=False
。我必须取消隐藏所有行和列,因为我读取了从特定范围到数组的值,并在其中执行计算。不幸的是,我不是这些文件的所有者。我的百货商店里的人把数据放在里面,我正在编写工具来处理这些数据。不幸的是,有些行/列很可能被隐藏。ShowAllData取消隐藏行,但不隐藏列。我添加了这三行,以确保在将数据读取到数组中时,所有数据都是可见的。我当然添加了一些提高速度的行,比如关闭屏幕更新、禁用事件等等,。。