Страница 1 из 1

Макрос с автофильтрами не переносится на другой лист

Добавлено: 10 июн 2009, 10:12
kuznetsovSergey
Доброе утро всем ! Решил обратиться к вам, за помощью. Вот есть такой код:

Код: Выделить всё

Sub macros()
Dim i As Long
c = "ZKE0"
i = 2
R02 = "R02"
R07 = "R07"
R06 = "R06"
S43 = "S43"
kol_cheh = 0
kol_altuf = 0
kol_tag = 0
proverka = "Display Variant"
Application.DisplayAlerts = False
With Application
        .Calculation = xlAutomatic
        .MaxChange = 0.001
    End With
    ActiveWorkbook.PrecisionAsDisplayed = False
    Calculate

Sheets("Alt_0406").Select
If Sheets("Alt_0406").Cells(4, 1).Value = proverka Then
Sheets("Alt_0406").Rows(1).Delete
Sheets("Alt_0406").Rows(1).Delete
Sheets("Alt_0406").Rows(1).Delete
Sheets("Alt_0406").Rows(1).Delete
Sheets("Alt_0406").Rows(1).Delete
Sheets("Alt_0406").Rows(1).Delete
Sheets("Alt_0406").Rows(2).Delete
Sheets("Alt_0406").Columns(1).Delete
Sheets("Alt_0406").Columns(1).Delete
Sheets("Alt_0406").Columns(3).Delete
End If

    Rows("1:1").Select
   Selection.AutoFilter
    
    Selection.AutoFilter Field:=17, Criteria1:="ZKE0"
    Rows("2:2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.ShowAllData
    
    Selection.AutoFilter Field:=16, Criteria1:="<>"
    Rows("2:2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.ShowAllData
    
    Columns("M:M").Select
    Selection.Replace What:="R07", Replacement:="R06", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

End Sub
Данный макрос работает безупречно, тоесть делает всё что нужно, и не когда не жаловался на ошибки. Но дело в том, что мне нужно такое же действие проделывать с несколькими страницами. При вставке данного кода, на новый лист. меняю название листов в макросе. И он начинает ругаться в этом районе:
Selection.AutoFilter

Selection.AutoFilter Field:=17, Criteria1:="ZKE0"
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select

не понимаю в чем дело? вроде бы всё правильно написано :confused: :confused: :confused:
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Разобрался в чем дело, но мне не нравиться как я описал автофильтр. Потому что при сортировке автофильтром, как удалить макросом, найденные данные. Я по автофильтру , отсортировал данные ZKEO, как удалить все строки, содержащие в 13 ячейке "ZKE0" ?? :confused: :confused: