Excel VBA For Loop过早结束

问题描述 投票:0回答:1

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

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

    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然后直接跳到end sub。

如果我删除循环并且只有i = 6,那么其余的代码工作正常。

我也试过1,而不是0,仍然是一样的。

任何帮助将不胜感激。

excel vba
1个回答
3
投票

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

For i = 6 To 0 Step -1
© www.soinside.com 2019 - 2024. All rights reserved.