Я давно использую приведенный ниже код, однако всякий раз, когда новый месяц начинается в первый день, когда выполняется консолидация и отсутствует один единственный файл, макрос не выполняется.
strListSheet = "Processors List"
On Error GoTo ErrH
Sheets(strListSheet).Select
Range("D8").Select
'this is the main loop, we will open the files one by one and copy their data into the masterdata sheet
Set currentWB = ActiveWorkbook
Do While ActiveCell.Value <> ""
strFileName = ActiveCell.Offset(0, 1) & ActiveCell.Value
strCopyRange = ActiveCell.Offset(0, 2) & ":" & ActiveCell.Offset(0, 3)
strWhereToCopy = ActiveCell.Offset(0, 4).Value
strStartCellColName = Mid(ActiveCell.Offset(0, 5), 2, 1)
Application.Workbooks.Open strFileName, UpdateLinks:=False, ReadOnly:=True
Set dataWB = ActiveWorkbook
Range(strCopyRange).Select
Selection.Copy
currentWB.Activate
Sheets(strWhereToCopy).Select
lastRow = LastRowInOneColumn(strStartCellColName)
Cells(lastRow + 1, 1).Select
Selection.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone
Application.CutCopyMode = False
dataWB.Close False
Sheets(strListSheet).Select
ActiveCell.Offset(1, 0).Select
Loop
Range("A1").Select
Sheets("Processors List").Activate
Range("P2").Select
Exit Sub
Цикл заканчивается, если какой-либо файл отсутствует.
Цикл должен перейти к следующей ячейке, чтобы проверить детали, объединяющие оставшиеся листы.
С уважением,
Vipul