Страницы: 1
RSS
Скрыть строки с нулевыми значениями во всей книге, Не могу разобраться как применить макрос ко всей книге
 
Здравствуйте. Помогите пожалуйста, не могу разобраться как применить макрос ко всем листам книги, кроме первого.

Sub Скрыть()

 Dim ws As Worksheet

 Dim i As Long

       Application.ScreenUpdating = False

For Each ws In ThisWorkbook.Worksheets

       If ws.Name <> "СВОД" Then          (это первый лист к которому не надо применять макрос)

     For i = 15 To 200                (это строки начиная с 15 скрывать строчки с 0 )

                  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

       End If

            Next ws

      Application.ScreenUpdating = True

                               

   End Sub

 

 
Код
Sub Скрыть()
    Dim ws As Worksheet
    Dim i As Long
    Dim j As Long
    Application.ScreenUpdating = False
    For j = 2 To ThisWorkbook.Worksheets.Count
        Set ws = ThisWorkbook.Worksheets(j)
        If ws.Name <> "СВОД" Then
            For i = 15 To 200
                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
        End If
    Next
    Application.ScreenUpdating = True
End Sub
Вариант названия темы: Как исключить из перебора в цикле первый лист.
Изменено: МатросНаЗебре - 19.02.2020 16:44:58
 
Спасибо, но все равно не получается, применяется только к одному листу
 
Видимо, что-то не так на остальных листах.
Вангую, столбец G непустой.
Или, вангую, строк меньше 200.
Можно ещё пованговать, а лучше пример посмотреть.
 
Вот такая табличка
 
Код
Sub Скрытьстрок()
    Dim ws As Worksheet
    Dim i As Long
    Dim j As Long
    Application.ScreenUpdating = False
    For j = 2 To ThisWorkbook.Worksheets.Count
        Set ws = ThisWorkbook.Worksheets(j)
        If ws.Name <> "СВОД" Then
          With ws
            For i = 15 To 92
                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
          End With
        End If
    Next
    Application.ScreenUpdating = True
End Sub
 
Спасибо огромное! Все работает!!!!
Страницы: 1
Наверх