Страницы: 1
RSS
Макрос для листа заставить работать на всей книге
 
Добрый день,

помогите, пожалуйста, новичку.

Есть макрос, но он работает только на активный лист, а нужно, чтобы работал во всей книге, кроме 1х пяти листов.
Суть макроса -удаление строк с определенным условием (где в определенном столбце значение =0, пустые удалять нельзя).
Листов в книге стало очень много, и вручную долго. Пытаюсь написать, используя все, что было на форуме раньше, но что-то идет не так.
Код ниже работает только на активный лист,  а нужно сделать макрос для всех листов книги, кроме первых 5ти.
Буду очень признательна. Спасибо!


Код
Sub УдалениеНулевыхСтрок()
Dim sH As Worksheet
Application.ScreenUpdating = False
        For Each sH In ThisWorkbook.Worksheets
        Dim i As Long
          With sH.UsedRange.Columns(2)
              For i = .Rows.Count To 2 Step -1
              If Cells(i, 7).Value = 0 And Cells(i, 7).Value <> "" Then Rows(i).Delete
              Next i
          End With
      Next sH
 Application.ScreenUpdating = True

End Sub
Изменено: БМВ - 30.10.2022 20:03:21
 
If sH.Cells(i, 7).Value = 0 And sH.Cells(i, 7).Value <> "" Then sH.Rows(i).Delete
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Здравствуйте. Пробуйте, у нас не на чем пробовать, нету файла-примера.
Код
Sub УдалениеНулевыхСтрок()
    Dim sH As Worksheet, i As Long
    Application.ScreenUpdating = False
        For Each sH In ThisWorkbook.Worksheets
            If sH.Index > 5 Then
                With sH.UsedRange.Columns(2)
                    For i = .Rows.Count To 2 Step -1
                        If sH.Cells(i, 7).Value = 0 And sH.Cells(i, 7).Value <> "" Then sH.Rows(i).Delete
                    Next i
                End With
            End If
        Next sH
    Application.ScreenUpdating = True
End Sub

sH — списал у Ігор Гончаренко
Изменено: DANIKOLA - 30.10.2022 20:00:43
 
Юлия А,  код следует оформлять соответствующим тегом. Ищите кнопку <...Ю и исправьте своё сообщение.
 
Цитата
написал:
Sub УдалениеНулевыхСтрок()    Dim sH As Worksheet, i As Long    Application.ScreenUpdating = False        For Each sH In ThisWorkbook.Worksheets            If sH.Index > 5 Then                With sH.UsedRange.Columns(2)                    For i = .Rows.Count To 2 Step -1                        If sH.Cells(i, 7).Value = 0 And sH.Cells(i, 7).Value <> "" Then sH.Rows(i).Delete                    Next i                End With            End If        Next sH    Application.ScreenUpdating = TrueEnd Sub
Спасибо огромное! Все работает!
Страницы: 1
Наверх