Excel VBA For Loop提前结束

时间:2019-04-11 10:38:28

标签: excel vba

我目前正在尝试运行一些代码来打开文件,复制内容,关闭然后打开下一个文件。

到目前为止,这是我的代码:

    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 i = 6到0,然后直接跳到结束子。

如果我删除循环并仅使i = 6,则其余代码工作正常。

我也尝试过1,而不是0,并且仍然相同。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

您需要指定一个负步,因为默认值为1:

For i = 6 To 0 Step -1