Автор Тема: Excel Макрос VBA: Скрытие строк, если ноль или пусто  (Прочитано 1304 раз)

freeman_net

  • Гость
Администратор, добрый день! На этом форуме нашел шикарный макрос.
Но в меру полной неспособности к программированию не могу его переделать.
Вы можете сказать что изменить?

У меня условие простое. Скрывать нужно, если в ячейке ноль или пусто.
Скрывать нужно на основе столбца "G", со строки 4 до строки 74.

И еще вопрос. Как сделать макрос, отображающий все скрытые строки.

Если укажете на тему с этим вопросом или напишите сюда, вы безусловно сильно выручите. А то работать с этими огромными таблицами просто жесть, перед печатью минут 20 уходит на скрытие ненужных столбцов и строк.
Спасибо!

Оффлайн Администратор

  • Administrator
  • Сообщений: 1719
Макрос скрывает строки, у которых в столбце G пусто или ноль, и отображает строки, у которых в столбце G не пусто и не ноль:
Макрос
Sub Макрос1()

    Dim i As Long
   
   
    '1. Отключение монитора, чтобы ускорить макрос. Это будет заметно,
        ' если надо работать с большим кол-вом строк.
    Application.ScreenUpdating = False
   
    '2. Двигаемся по строкам с 4 по 74.
    For i = 4 To 74
   
        ' Если в ячейке пусто или ноль.
        If (Cells(i, "G").Value = "") Or (Cells(i, "G").Value = 0) Then
            ' Скрытие строки.
            Rows(i).Hidden = True
        ' Если в ячейке не пусто и не ноль.
        Else
            ' Отображение строки.
            Rows(i).Hidden = False
        End If
    Next i
   
    '3. Вкл. монитора.
    Application.ScreenUpdating = True
   
End Sub

Отображение всех строк на листе:
Sub Макрос2()
    Rows.Hidden = False
End Sub

freeman_net

  • Гость
спасибо