循环仅在第一次正确运行。当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
请让我知道这里可能有什么问题。