Цикл прочитал правильно в первом раунде, затем ничего не прочитал в следующем - PullRequest
0 голосов
/ 29 мая 2019

Цикл работает правильно только в первый раз. Когда j = 2, он правильно читает «20190102». Когда j = 3, он должен читать «20190103», и он отображается пустым. Что пошло не так?

Я пытался не использовать массив, используя массив, все равно я знаю, и все еще застрял во 2-м раунде и ничего не читает в переменной

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

Пожалуйста, дайте мне знать, в чем проблема здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...