Я создал макрос, который вызывает другой макрос, который затем запускается на каждом листе из листа 4. Макрос выполняется на первом листе (лист 4), но затем не запускается на всех остальных листах.
Исходный макрос, который должен пройти по всем рабочим листам, начиная с рабочего листа 4:
Sub DeleteLoop()
Dim WS_Count As Integer
Dim i As Integer
If MsgBox("Do you want to continue", vbYesNo, "User Input") = vbNo Then
        Exit Sub
    Else
    If MsgBox("Are you sure? Have you taken a backup of your spreadsheet?", vbYesNo, "User Input") = vbNo Then
        Exit Sub
        Else
        ActiveWorkbook.Worksheets(4).Activate
        For i = ActiveSheet.Index To Sheets.Count
        Call DeleteMacro
        MsgBox "I'm currently on sheet " & ThisWorkbook.Sheets(i).Name
        Next i
    End If
End If
End Sub
Макрос для запуска на каждом листе выглядит следующим образом:
Sub DeleteMacro()
Dim x As Integer
Dim y As Integer
Call UnProtectSheet
Range("F12").AutoFilter Field:=6, Criteria1:=Array("Paid", "Cancelled", " "), Operator:=xlFilterValues
y = Cells.Item(3, "L")
x = Cells.Item(8, "E")
    If x > 0 Then
    Application.Goto Reference:="R12C1"
    Call NextVisibleRow
    If y > 1 Then
    Range(Selection, Selection.End(xlDown)).Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.EntireRow.Delete
    Else
    Selection.EntireRow.Delete
    End If
    End If
ActiveSheet.ShowAllData
Application.Goto Reference:="R12C1"
Call NextVisibleRow
Selection.End(xlDown).Select
If ActiveCell.Value = "Balance" Then
            Selection.End(xlUp).Select
End If
Call NextVisibleRow
Call ProtectSheet
End Sub
Можете ли вы сообщить мне, что я делаю неправильно, что препятствует запуску макроса на каждом листе от листа 4 до последнего листа.
