Excel VBA For Loop заканчивается преждевременно - PullRequest
0 голосов
/ 11 апреля 2019

Я сейчас пытаюсь запустить какой-нибудь код, который откроет файл, скопирует содержимое, закроет и откроет следующий файл.

Вот мой код:

    Sub AddData()

    Dim i As Integer

    Set QD = Workbooks("Quesday E2E IM Queues " & Format(Date, "DD-MM-YY") & ".xlsx")

    For i = 6 To 0
        If i = 2 Or 3 Then
            GoTo Last
        Else
            Workbooks.Open Filename:="\\********\Jeopardy Report - CC\Jeopardy Report CC " & Format(Date - i, "DD-MM-YY") & "AM .xlsm", local:=True

            Set JP = Workbooks("Jeopardy Report CC " & Format(Date - i, "DD-MM-YY") & "AM .xlsm")

            JP.Sheets("Quesday").Range("B2:B6").Copy
            QD.Sheets("Helpdesk").Cells(7, Columns.Count).End(xlToLeft).Offset(0, 1).PasteSpecial xlPasteValues

            JP.Close
        End If

    Last:
    Next i
End Sub

Проблема в том, что код получает For For i = 6 до 0, а затем пропускает прямо к концу sub.

Если я удаляю цикл и просто имею i = 6, то остальная часть кода работает нормально.

Я также пытался 1, а не 0, и все тот же.

Любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 11 апреля 2019

Вам необходимо указать отрицательный шаг, так как по умолчанию 1:

For i = 6 To 0 Step -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...