Я получаю runtime errror 53: файл не найден для 27-го-28-го элемента. Любая идея, что не так?Как игнорировать ошибку и продолжить цикл?
Ошибка заключается в:
"FileCopy Источник: = SourcePath, Destination: = DestinationPath"
Option Base 1
Sub LoopThroughFolder()
Const FileSpec As String = "*.xls"
Dim y As Integer
Dim MyFolder As String
Dim MyFile As String
Dim iDot As Integer
Dim FileRoot As String
Dim FileExt As String
Dim SourcePath As String
Dim DestinationPath As String
Dim ArrayData() As Variant
Dim Series() As Integer
'Capture the filename information
For y = 2009 To 2030
ReDim Preserve ArrayData(12, y)
ReDim Preserve Series(12, y)
MyFolder = ActiveWorkbook.Path & "\" & y & "\"
i = 1
MyFile = Dir(MyFolder & FileSpec)
Do While Len(MyFile) > 0
iDot = InStrRev(MyFile, ".")
If iDot = 0 Then
FileRoot = MyFile
FileExt = ""
Else
FileRoot = Left(MyFile, iDot - 1)
FileExt = Mid(MyFile, iDot - 1)
End If
MyFile = Dir
ArrayData(i, y) = FileRoot
i = i + 1
Loop
Next y
'Conversion from MMMYY to numerical sequence
a = 1
BasicPath = ActiveWorkbook.Path
For y = 2009 To 2030
For i = 1 To 12
If Not IsEmpty(ArrayData(i, y)) Then
Series(i, y) = a
a = a + 1
SourcePath = BasicPath & "\" & y & "\" & ArrayData(i, y) & ".xls"
DestinationPath = BasicPath & "\output\" & "Bill_Summary_Report_" & Series(i, y) & ".xls"
FileCopy Source:=SourcePath, Destination:=DestinationPath
Else
x = 0
End If
Next i
Next y
End Sub
Каким был ваш вопрос, на самом деле? «Почему я получаю сообщение об ошибке?» Или «Хорошо, мне все равно, что это такое; как я могу пропустить это? »_ Это две разные вещи, но ваш заголовок говорит один, а ваше сообщение говорит другое. –