【发布时间】:2019-04-16 09:08:09
【问题描述】:
我正在尝试隐藏行,以便仅显示某些零售商数据,由于报告的布局,数据不可过滤。我首先取消隐藏所有行作为重置,然后手动隐藏与零售商无关的行,直到只保留点击的零售商信息。
但是,这是一种缓慢的方式,我需要一种更快的方式,我可以理解。没有过滤数据的标准。只需点击按钮上的零售商名称即可。
我的代码显示了手动执行此操作的缓慢方式。
Sub SummaryRetailer1Only()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Resets hidden rows by showing everything.
ActiveSheet.Rows("2:480").EntireRow.Hidden = False
'Hides all rows that don't show data for Retailer1.
ActiveSheet.Rows("18:21").EntireRow.Hidden = True
ActiveSheet.Rows("37:48").EntireRow.Hidden = True
ActiveSheet.Rows("54:57").EntireRow.Hidden = True
ActiveSheet.Rows("73:84").EntireRow.Hidden = True
ActiveSheet.Rows("88:129").EntireRow.Hidden = True
ActiveSheet.Rows("261:376").EntireRow.Hidden = True
ActiveSheet.Rows("390:393").EntireRow.Hidden = True
ActiveSheet.Rows("409:420").EntireRow.Hidden = True
ActiveSheet.Rows("424:427").EntireRow.Hidden = True
ActiveSheet.Rows("443:454").EntireRow.Hidden = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
代码运行良好我只是想要一种我假设使用一些变量的方式,以便它运行得更快。
【问题讨论】:
-
好一个:
ActiveSheet.Range("18:21,37:48,54:57,73:84,88:129,261:376,390:393,409:420,424:427,443:454").EntireRow.Hidden = True -
Range("18:21,37:48,54:57,73:84,88:129,261:376,390:393,409:420,424:427,443:454").EntireRow.Hidden = True呢? -
哦! @JvdV 你更快!大声笑
-
您可能会丢失已选择整个
Row和Rows(...的.EntireRow -
我试过了,但没用,现在再试一次(:都干杯