Страницы: 1
RSS
Применение макроса к нескольким листам, Помогите модифицировать
 
Ребят, помогите!
Сразу оговорюсь, с VBA вообще не дружу.

Есть макрос:
Код
Sub Del_rows()
Dim x As Range: Application.ScreenUpdating = False
    Set x = Intersect(ActiveSheet.UsedRange, [F:F])
    [F:F].AutoFilter Field:=1, Criteria1:="0"
    x.Offset(1).Resize(x.Rows.Count).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    [F:F].AutoFilter
End Sub

Исполнение привязано к нажатию кнопки на втором листе книги, при этом макрос исполняется тоже на втором листе, а хотелось бы, чтоб исполнялся на нескольких листах одновременно.

Кроме того, на одном из листов фильтр надо делать не по столбцу F, а по столбцу G. Как это реализовать?
Заранее спасибо за участие.
 
Код
Sub Del_rows()
    Dim x As Range
    Application.ScreenUpdating = False
    For Each sh In Sheets
    
        If sh.Name = "один_из_листов" Then
            Set f_column = sh.[G:G]
        Else
            Set f_column = sh.[F:F]
        End If
        
        Set x = Intersect(sh.UsedRange, f_column)
        f_column.AutoFilter Field:=1, Criteria1:="0"
        x.Offset(1).Resize(x.Rows.Count).SpecialCells(xlCellTypeVisible).EntireRow.Delete
        f_column.AutoFilter
    Next
    Application.ScreenUpdating = True
End Sub
Изменено: heso - 02.10.2017 08:38:56
 
heso, СПАСИБО БОЛЬШОЕ! Вроде все работает так как надо.
Страницы: 1
Наверх