我编写了一个简短的脚本,用于根据单元格值隐藏列。
该脚本可以正常工作,但它很慢并且通常是Excel错误,其中列数很大,例如> 200列。
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
ImpossiblededéfinirlapropriétéHiddende la classe Range
(英文,这是无法设置范围类的隐藏属性)
有人可以提出解决方案吗?提前感谢您的帮助。
答案 0 :(得分:3)
测试然后隐藏在单次拍摄中对我来说没关系
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
答案 1 :(得分:0)
ActiveWindow.Visible = False
有时会产生很大的不同。
确保放好
错误捕获时ActiveWindow.Visible = True
。