循环在第一轮中正确读取,然后在下一轮中不读取

时间:2019-05-29 13:25:06

标签: excel vba

循环仅在第一次正确运行。当j = 2时,它正确读取为“ 20190102”。当j = 3时,它应显示为“ 20190103”,并显示为空白。什么地方出了错?

我尝试不使用数组,而是使用数组,我一直都知道并且仍然陷入第二轮,并且在变量中什么也不读取

Option Explicit

Public nextrow As Long
Public fName As String
Public year As String
Public month As String
Public i As Integer
Public j As Integer
Public c As Integer
Public InfoSheet, RefDataSheet, AllDataSheet
Public Const SourcePath = "J:\IL\Pricing & FX\Pricing Report"
Public taskName$
Public fullDate As Variant
Public nmonth As String
Public ndate As String
Public nday As Integer
Public ndaycount As Integer
Public folderdate As Variant
Public rr As Variant
Dim rng As Range
Dim m As Long
Dim dat As Variant
Dim arr(24) As Variant

Sub copydata()

    Set InfoSheet = ThisWorkbook.Sheets("Info")
    Set RefDataSheet = ThisWorkbook.Sheets("RefData")
    Set AllDataSheet = ThisWorkbook.Sheets("AllData")

    Windows("G1 HK v2.0 29May2019").Activate

    AllDataSheet.Activate
    Selection.ClearContents

    InfoSheet.Activate
    year = Cells(1, 2).Value
    month = Cells(2, 2).Value
    nday = Cells(3, 2).Value
    ndaycount = nday + 1
    RefDataSheet.Activate

    fName = Cells(2, 2).Value

    For j = 2 To ndaycount

        arr(j - 2) = Cells(j, 6).Value
        folderdate = Right(arr(j - 2), 2) & Mid(arr(j - 2), 5, 2) & Left(arr(j - 2), 4)

        taskName = fName & arr(j - 2) & "_" & "??????.xlsx"

        ChDir SourcePath
        Workbooks.Open Filename:=SourcePath & "\" & year & "\" & month & "\" & folderdate & "\" & "G1 Crest" & "\" & taskName

        'Windows(fileName).Activate
        rr = ActiveSheet.UsedRange.Offset(1, 0).Copy
        ActiveWorkbook.Close

        Windows("G1 HK v2.0 29May2019").Activate
        AllDataSheet.Activate
        nextrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ActiveSheet.Cells(nextrow, 1).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ActiveWorkbook.Save
        Application.CutCopyMode = False

    Next j

End Sub

请让我知道这里可能有什么问题。

0 个答案:

没有答案