Добавьте Союз, чтобы увеличить эффективность в коде VBA - PullRequest
0 голосов
/ 11 сентября 2018

В рабочей книге есть код, который работает именно так, как я хочу, но я ищу способы повысить его эффективность / скорость. Я хотел бы добавить объединение для всех пустых строк и скрыть этот диапазон сразу. Можно ли это сделать?

    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

1 Ответ

0 голосов
/ 11 сентября 2018

Я думаю, что это делает то же самое:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...