В следующем примере макрос копирует таблицы из этих файлов, с заданных листов в тот файл, в котором находится макрос, разберешся
вместо списка файлов на листе можеш обращаться к своему массиву
Sub Поиск()
R = ActiveCell.Row
ИСКОМОЕ = ActiveSheet.TextBox1
Range("b3:b60000").Find(What:=ИСКОМОЕ, After:=Cells(R, 2), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
End Sub
Sub Открыть_и_разнести()
Dim Дата As Long
Dim ИСКОМОЕ As Variant
Selection.AutoFilter Field:=1
Дата = Cells(1, 2)
мес = Workbooks("Открывашка.xls").Sheets("Файлы разноски").Cells(2, 2)
x = ActiveCell.Row '_______строка искомой ячейки
Cells(x, 2).Select
ИСКОМОЕ = ActiveCell
Range("b2:b60000").Find(What:="Файл", After:=Cells(x, 2), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:= _
False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Dim имя_файла As Variant
g = ActiveCell.Row '_______строка вычитаемой ячейки
ОткрываемыйФайл = ActiveCell
'1. !!! !!! !!! !!! Внести изменения:
имя_файла = "D:\Мои документы\000 Разноска\" & Cells(g, 1)
Workbooks.OpenText Filename:=имя_файла
Sheets(мес).Select '00000000000000000000
'Range("b2:b60000").Find(What:=ИСКОМОЕ, After:=Cells(4, 2), LookIn:=xlValues, LookAt:= _
' xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:= _
' False).Activate
Cells(x - g + 3, 2).Select
ActiveCell.Rows("1:1").EntireRow.Select
rr = ActiveCell.Row
ss = Cells(rr, Дата + 6)
Cells(rr, Дата + 6) = ss + 1
SaveChanges = True
ActiveWindow.Close SaveChanges = True
Cells(x, 2).Select
'Сдераем отметку в Открывашке
rr = ActiveCell.Row
ss = Cells(rr, Дата + 6)
Cells(rr, Дата + 6) = ss + 1
End Sub
Sub Открыть_файл_разноски_из_Данных()
a = Cells(1, 2)
Dim ИСКОМОЕ As Variant
Selection.AutoFilter Field:=1
x = ActiveCell.Row
Cells(x, 2).Select
ИСКОМОЕ = ActiveCell
Range("b2:b60000").Find(What:="Файл", After:=Cells(x, 2), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:= _
False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Dim имя_файла As Variant
g = ActiveCell.Row
Cells(x, 2).Select
'2. !!! !!! !!! !!! Внести изменения:
имя_файла = "D:\Мои документы\000 Разноска\" & Cells(g, 1)
Workbooks.OpenText Filename:=имя_файла
Cells(1, 2) = a
Range("b2:b60000").Find(What:=ИСКОМОЕ, After:=Cells(4, 2), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:= _
False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
End Sub
Sub ЧГН()
Application.ScreenUpdating = False 'Отключаем обновление экрана
Dim мес, pyt, awn, a, ЛисТ, AArow
Dim STROCHKA As Integer
STROCHKA = 2
мес = Workbooks("Открывашка.xls").Sheets("Файлы разноски").Cells(2, 2)
'3. !!! !!! !!! !!! Внести изменения:
pyt = "D:\Мои документы\000 Разноска\"
Windows("Открывашка.xls").Activate
Sheets("Подложка").Visible = True
Sheets("Подложка").Select
Sheets("Подложка").Copy After:=Sheets(1)
Sheets("Подложка (2)").Select
Sheets("Подложка (2)").Name = "Данные"
Sheets("Подложка").Visible = False
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "Контролька"
Dim JIM As Integer
'0000000000000000 Workbooks("Открывашка.xls").Sheets("Файлы разноски").Cells(JIM, 1)
JIM = 3
Do Until IsEmpty(Workbooks("Открывашка.xls").Sheets("Файлы разноски").Cells(JIM, 1))
'Do Until IsEmpty(Cells(JIM, 1))
Workbooks.Open Filename:=pyt & Workbooks("Открывашка.xls").Sheets("Файлы разноски").Cells(JIM, 1)
Sheets(мес).Select
awn = ActiveWorkbook.Name
'000000000000000000000000000000000000000000000000000000000000000000000000000
a = КолПолнСтрок'моя функция определяющая номер последней строки "разорванного" списка
'000000000000000000000000000000000000000000000000000000000000000000000000000
Range(Cells(4, 1), Cells(a, 50)).Select
Selection.Copy
ЛисТ = ActiveSheet.Name
Windows("Открывашка.xls").Activate
'Sheets("Контролька").Select
Workbooks("Открывашка.xls").Sheets("Контролька").Cells(JIM - 2, 1) = ЛисТ '00000000000000000
Sheets("Данные").Select
'__________________
Cells(STROCHKA, 1).Select
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
STROCHKA = STROCHKA + a
'___________________
ActiveCell.Select 'Выделена строка для названия файла
ActiveCell = awn
AArow = ActiveCell.Row
Cells(AArow, 2) = "Файл" 'Вставка слова "файл"
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
ActiveCell.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Workbooks(awn).Close SaveChanges:=False
JIM = JIM + 1
'Sheets("Файлы разноски").Select
Loop
Sheets("Данные").Select
Cells(STROCHKA + 1, 2) = "Файл"
Sheets("Контролька").Select
ActiveSheet.Name = "Контролька " & Day(Now) & "." & Month(Now) & "-" & Hour(Time) & "." & Minute(Time) & "." & Second(Time)
Sheets("Данные").Select
ActiveSheet.Name = "Данные " & Day(Now) & "." & Month(Now) & "-" & Hour(Time) & "." & Minute(Time) & "." & Second(Time)
'Закрепляем области окна
Range("G3").Select
ActiveWindow.FreezePanes = True
' Фильтр
Cells(3, 6) = 1
Cells(2, 6) = 1
Range(Cells(2, 6), Cells(STROCHKA, 6)).Select
Selection.AutoFilter
Range("F2").Select
'Кнопка для сброса фильтра
ActiveSheet.Buttons.Add(195.75, 3, 91.5, 11.5).Select
Selection.OnAction = "СбросФильтр"
Selection.Characters.Text = "СбросФильтр"
'Кнопка для открытия файла
ActiveSheet.Buttons.Add(105.75, 3.75, 78, 17.25).Select
Selection.OnAction = "Открыть_файл_разноски_из_Данных"
Selection.ShapeRange.AlternativeText = "Открыть"
Selection.Characters.Text = "Открыть"
'Расставим даты
Cells(2, 7) = 1
Cells(2,
= 2
Range("G2:AK2").Select
Selection.DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step _
:=1, Trend:=False
'Автоподбор ширины столбцов
Columns("A:AO").Columns.AutoFit
Columns("G:AK").ColumnWidth = 2
'Назначенный подбор ширины столбцов
Columns("A:A").ColumnWidth = 15
Columns("B:B").ColumnWidth = 15
Columns("C:C").ColumnWidth = 4
Columns("D:D").ColumnWidth = 4
Columns("E:E").ColumnWidth = 9
Columns("F:F").ColumnWidth = 9
'Надпись: Дата
Cells(1, 1) = "Число"
Cells(1, 2) = Day(Date - 1)
Rows("2:2").RowHeight = 23
'Кнопка для открытия файла и отметки о реализации
ActiveSheet.Buttons.Add(96.25, 1.5, 57, 21.75).Select
Selection.OnAction = "Открыть_и_разнести"
Selection.Characters.Text = "Разнести"
'Кнопка и поле для поиска
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=1.5, Top:=13.5, Width:=41.25, Height:= _
11.25).Select
Selection.ShapeRange.ScaleHeight 1.4, msoFalse, msoScaleFromTopLeft
ActiveSheet.Buttons.Add(43.5, 12.75, 39, 12.75).Select
Selection.OnAction = "Поиск"
Selection.Characters.Text = "Поиск"
'_____________
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=246, Top:=17.25, Width:=44.25, Height:= _
16.5).Select
ActiveSheet.Buttons.Add(294, 17.25, 35.25, 15).Select
Selection.OnAction = "Фильтр_цен"
Selection.Characters.Text = ""
ActiveSheet.Buttons.Add(94.5, 18.75, 60, 15).Select
Selection.OnAction = "Открыть_и_разнести_всё"
Selection.Characters.Text = "Разнести всё"
ActiveSheet.Buttons.Add(174.75, 22.5, 39.75, 12.75).Select
Selection.OnAction = "Открыть_и_добавить_единицу_в_приход"
Selection.Characters.Text = "+1"
'______________
'Условное форматирование
Range("C3").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=C3+D3-СУММ(G3:AK3)<=0"
Selection.FormatConditions(1).Interior.ColorIndex = 46
Selection.Copy
Range(Cells(3, 3), Cells(STROCHKA, 3)).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows("1:2").Interior.ColorIndex = 6
Application.CutCopyMode = False
Application.ScreenUpdating = True 'Включаем обновление экрана
End Sub
Sub Открыть_и_добавить_единицу_в_приход()
Dim Дата As Long
'Dim ИСКОМОЕ As Variant
Selection.AutoFilter Field:=1
мес = Workbooks("Открывашка.xls").Sheets("Файлы разноски").Cells(2, 2)
x = ActiveCell.Row '_______строка искомой ячейки
Cells(x, 2).Select
'ИСКОМОЕ = ActiveCell
Range("b2:b60000").Find(What:="Файл", After:=Cells(x, 2), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:= _
False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Dim имя_файла As Variant
g = ActiveCell.Row '_______строка вычитаемой ячейки
ОткрываемыйФайл = ActiveCell
'1. !!! !!! !!! !!! Внести изменения:
имя_файла = "D:\Мои документы\000 Разноска\" & Cells(g, 1)
Workbooks.OpenText Filename:=имя_файла
Sheets(мес).Select '00000000000000000000
'Range("b2:b60000").Find(What:=ИСКОМОЕ, After:=Cells(4, 2), LookIn:=xlValues, LookAt:= _
' xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:= _
' False).Activate
Cells(x - g + 3, 2).Select
ActiveCell.Rows("1:1").EntireRow.Select
Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row, 4) + 1
SaveChanges = True
ActiveWindow.Close SaveChanges = True
Cells(x, 2).Select
'Сдераем отметку в Открывашке
Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row, 4) + 1
End Sub
Вот такой код