У меня есть 4 книги Excel, подключенные с помощью Excel Power Query в Excel 2016. Я собираюсь дать ссылку на каждую книгу как A, B, C и D для облегчения чтения и понимания.
Контекст:
Книги A и B являются исходными книгами, в которых пользователи вводят данные в объекты таблиц. Важно отметить, что эти книги подключаются к другой внешней книге с помощью подключения Power Query, а также содержат традиционные ссылки (в том смысле, что ячейка равна другой ячейке в другой книге) и на другие книги.
Рабочая книга C - это «сводная» рабочая книга, которая подключается как к A, так и к B, добавляет эти подключения и выводит данные в сводные таблицы.
Книга D - это книга, которая подключается к книге C с помощью Power Query.
Я включил схему c ниже:
Цель:
Мне нужно обновить sh соединение запроса в книге D, которое будет извлекать последние данные из книг A и B .
Текущее исследование / тестирование:
Согласно моим текущим исследованиям и тестированию, кажется, что запрос refre sh является только 1-м порядком, т.е. обновлением запроса в книге D будет извлекать последние данные из книги C, но не из книг A и B. Пользователь должен будет открыть книгу C и обновить sh запросы, сделанные к книгам A и B, а затем только обновить sh книгу D. Текущий VBA:
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Этот метод также не включает ссылки, в результате чего их также необходимо обновлять независимо от запросов, а именно:
ActiveWorkbook.UpdateLink Name:="C:\Users\deadevil\Desktop\Test1.xlsx", Type:=xlExcelLinks
Абсолютная работа на данный момент заключается в том, чтобы создайте VBA, который открывает книги A и B и обновляется соответствующим образом, когда пользователь хочет обновить sh книгу D. Я рад создать это, но надеюсь, что кто-то с более глубоким пониманием Power Query найдет лучший подход!
Есть ли способ получить эту refre sh функциональность «2-го порядка»?