添加Union以提高VBA代码的效率

问题描述 投票:0回答:1

我的工作簿中的代码完全符合我的要求,但我正在寻找提高效率/速度的方法。我的想法是为所有空白行添加一个联合并一次隐藏该范围。可以这样做吗?

    Sub HideRws()
   Dim Rng As Range, Cl As Range
   With Sheet3
      For Each Cl In .Range("A11:A60")
         Cl.EntireRow.Hidden = Cl.Value = ""
      Next Cl
      For Each Rng In .Range("A71:A120, A131:A180, A190:A239").Areas
         If Rng(1) = "" Then
            Rng.Offset(-6).Resize(58).EntireRow.Hidden = True
         Else
            For Each Cl In Rng
               Cl.EntireRow.Hidden = Cl.Value = ""
            Next Cl
         End If
      Next Rng
   End With
End Sub
excel vba excel-vba range
1个回答
1
投票

我认为这也是一样的:

Sub HideRows()
    With Sheet3
        .Range("A11:A60").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
        For Each Rng In .Range("A71:A120, A131:A180, A190:A239").Areas
            If Rng(1) = "" Then
                Rng.Offset(-6).Resize(58).EntireRow.Hidden = True
            Else
                Rng.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
            End If
        Next Rng
    End With
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.