VBA или FORMULA для обновления пути к файлу с самой последней рабочей датой - PullRequest
0 голосов
/ 22 мая 2018

Я создаю файл каждый день с обновленными рыночными данными (схема одинакова каждый день, только разные цифры в таблицах).У меня есть несколько столбцов на каждом листе, которые берут данные из отдельного файла.Этот файл имеет дату как часть его имени.

Одна формула:

=K10-'O:\Daily Vols\PDFsourcefiles\[Daily PDF 2018.05.18..xlsm]POWERPDF'!$K$10

Это уравнение дает мне данные в K10 сегодня минус данные в K10 из вчерашнего документа.Я хотел бы найти способ автоматически обновлять этот путь к файлу каждый день с предыдущей датой запуска файла (НЕ просто с датой 1, поскольку выходные не могут быть включены!). В настоящее время я использую функцию «найти и заменить»но это очень много времени и может привести к человеческим ошибкам, если я забуду одну или две ячейки.

У меня есть сегодняшняя дата в ячейке A1 таблицы «Комментарии», если это будет полезно использовать.

Я надеюсь, что кто-то с большим опытом работы в Excel сможет помочь с этим - большое спасибо заранее!

1 Ответ

0 голосов
/ 23 мая 2018

Это должно быть выполнимо в VBA.Я думаю, что событие Workbook_Open будет лучшим.Ссылка будет сделана при открытии файла.Если вы не знаете, как добраться до редактора VBA, нажмите Alt + F11 и дважды щелкните «ThisWorkbook».Затем введите следующий код:

Private Sub Workbook_Open()
    Sheets("[YourWorksheetName]").Cells([RowNum],[ColNum]) = "=K10-'O:\Daily Vols\PDFsourcefiles\[Daily PDF " & Format(Date - 1, "yyyy.mm.dd") & "..xlsm]POWERPDF'!$K$10"
End Sub

Где [YourWorksheetName] - это имя рабочего листа сегодняшнего файла (может быть, POWERPDF?), [RowNum] и [ColNum] - это строка / столбец, для которого вы хотите этоформула.Так что, если эта формула перейдет в B1, то это будет .Cells (1, 2), потому что B - второй столбец.

Надеюсь, это будет лучше.

...