Доброго дня!
Подскажите как реализовать:
Есть каталог, в который каждый день складываются файлы "zdDDMMYY.xls" (1 файл в день). Необходимо создать месячные отчёты на основании данных из этих суточных файлов.
Имея за плечами 3-х дневный опыт в VBA решил сделать так:
1. Считаем количество файлов в каталоге, указаном в ThisWorkbook.Worksheets("conf").Range("A1") (к примеру "C:\TEMP"), где месяц равен ThisWorkbook.Worksheets("UNITS").Range("D1"), и год
ThisWorkbook.Worksheets("UNITS").Range("E1"). В этих ячейках указываем MM, YY для периода выборки.
2. Динамически создаём связи в месячном отчёте к найденым именам файлов и получаем таблицу из (i = количество найденых файлов) ячеек
Вопрос:
1. Оптимально ли это решение
2. Если да, то как в выражении
"='" + .FoundFiles(i) + "'!AC6"
указать ещё и лист для связи
________
With Application.FileSearch
.NewSearch
.LookIn = ThisWorkbook.Worksheets("conf").Range("A1")
.SearchSubFolders = False
.Filename = "zd??" + ThisWorkbook.Worksheets("UNITS").Range("D1") + ThisWorkbook.Worksheets("UNITS").Range("E1")
.MatchAllWordForms = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
MsgBox "За указанный период найдено " & .FoundFiles.Count & _
" файлов."
For i = 1 To .FoundFiles.Count
ThisWorkbook.Worksheets("UNITS").Cells(2, i + 1) = i
ThisWorkbook.Worksheets("UNITS").Cells(3, i + 1) = "='" + .FoundFiles(i) + "'!AC6"
Next i
Else
MsgBox "Нет Данных!"
End If
End With
________
Заранее спасибо,
Роман Дорош