优化隐藏列的速度
我写了一个简短的脚本来隐藏列取决于单元格的值。
该脚本的作品,但它是非常缓慢的,往往是错误的列数很大,例如> 200列的Excel错误。
Sub Bouton_hidingColumns() Dim NumColonne As Integer For NumColonne = Range("I11").Column To Range("IH11").Column Step 3 If WorksheetFunction.Sum(Range(Cells(11, NumColonne), Cells(119, NumColonne))) = 0 Then Columns(NumColonne).Resize(, 3).Hidden = True End If Next NumColonne End Sub
当列数很高时,脚本失败的示例:
不可能dedéfinirlapropriété隐藏de la classe山脉
(英文无法设置范围类的隐藏属性 )
任何人都可以提出解决scheme 预先感谢您的帮助。
testing,然后隐藏在一个单一的运行对我来说没关系
Sub OneWay() Dim rng1 As Range Dim rng2 As Range Dim rng3 As Range Set rng1 = Range("I11:IH119") For Each rng2 In rng1.Columns If rng2.Column Mod 3 = 0 Then If Application.Sum(rng2) = 0 Then If Not rng3 Is Nothing Then Set rng3 = Union(rng3, rng2.Resize(, 3)) Else Set rng3 = rng2.Resize(, 3) End If End If End If Next If Not rng3 Is Nothing Then rng3.EntireColumn.Hidden = True End Sub
在脚本开始时, ActiveWindow.Visible = False
有时会产生很大的变化。
确保在错误捕获时将ActiveWindow.Visible = True
。