Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Определить какой файл был создан последним и с данного файла данные притянуть в другую книгу
 
Всем Доброй ночи! Похожие темы есть но там ссылки на одну книга, а у меня 2 книги. Есть файл "Сводная", в который заносится вся информация по дням, файлы появляются каждый день(но не всегда, иногда задержка 3-4 дня, это очень редко, но имеет место быть), такие файлы называются к примеру "Total 24 Jan" (далее Total). Нужно, чтобы с помощью макроса находился последний файл и открывался, с этим помогли (Большое спасибо magistor8), код:
Код
Sub get_first_created()
Dim myPath$, mask$, f$, i%, t As Date
Dim myFolder As Object, myFile As Object
Dim S As Object
Set S = CreateObject("Shell.Application")
myPath = "C:\Users\Вася\Downloads\" ' директория для поиска
mask = "*ТОРГ-12*.xlsx" ' маска поиска с * и ?
With CreateObject("Scripting.FileSystemObject")
    Set myFolder = .GetFolder(myPath)
    t = Now ' если ищем самый поздний - убрать эту строку
    For Each myFile In myFolder.Files
        If myFile.Name Like mask Then
            If CDate(myFile.DateCreated) < t Then ' если ищем самый ранний, то  <, самый поздний  - >
                t = CDate(myFile.DateCreated)
                f = myFile.Name
                p = myFile.Path
            End If
        End If
    Next
On Error Resume Next
S.Open (p)
End With
End Sub
Но возникла следующая загвоздка, файл Total последний он мне открывает(скрипт рабочий), но как сделать, чтобы он с файла Total за последнюю дату(который открыл) данные перетянул в файл "Сводная" согласно дате. Важно, чтобы поиск осуществлялся по полю ID(т.к. фамилия может быть одна, но разные ID), т.е. по полю ID нужно перетащить "Выработка", "Часы", "Ранг" в файл "Сводная". Также если в файле "Сводная" нет какого-то ID а в Total есть(это связано с тем, что люди приходят), то выдать ошибку, к примеру "ID 6554688 не найден". Файлы примеры приложил.
Заранее спасибо.
Изменено: Egoist - 29.01.2019 10:50:30
Страницы: 1
Наверх