Автоматическое обновление ссылок между несколькими листами на сводный лист - PullRequest
1 голос
/ 21 апреля 2020

Несколько стран в нашей организации используют один и тот же файл шаблона Excel для отслеживания емкости внутри своей страны. Таким образом, по одному листу на страну.

Из-за COVID19 нам теперь нужно увидеть потенциал по всему миру, чтобы мы могли перенаправить помощь в страны, которые в ней нуждаются, из той, которая может ее предоставить.

Мы используем коробку для хранения всех рабочих книг, чтобы мы могли получать живые обновления.

Итак, что я сделал, так это то, что я вытащил в одну строку, которая содержит всю необходимую нам информацию из рабочей книги каждой страны, и создал нечто, похожее на приведенное ниже

Summary sheet glimpse

Пока все хорошо.

Проблема, с которой я сталкиваюсь, заключается в том, как сохранить это обновление в будущем? То, как я связал книги, выглядит примерно так:

='C:\Users\User1\Box\PIPELINE\[FRANCE PIPELINE 2020 - 01 04 20.xlsm]Pipeline'!CB6

Как вы можете видеть, это относится только к моему компьютеру, поэтому оно не будет обновляться, пока я не открою Сводный файл каждый день, обновляйте ссылки и сохраняйте.

У кого-нибудь есть идеи лучше, чем я собираюсь сделать:

  • Напишите код, который обновляет ссылки и сохраняет document
  • Спросите моего собеседника, у кого есть виртуальная машина / сервер, который работает 24 часа в сутки, можно ли просто вставить туда этот файл, загрузить в него окно syn c и попросить его оставить файл открытым с этим код работает говорят ... каждый час?

Любая помощь очень ценится.

1 Ответ

1 голос
/ 21 апреля 2020

Поместите ваш файл FRANCE PIPELINE 2020 - 01 04 20.xlsm в ту же папку, что и файл сводки на каждом компьютере. Тогда файлы могут находиться в разных папках, например C:\Folder1\… на одном компьютере и C:\Folder2\… на другом компьютере, но вам не нужно обновлять ссылки на разных компьютерах, если имя файла FRANCE PIPELINE 2020 - 01 04 20.xlsm не изменяется.

Если изменение имени файла является проблемой (похоже, в ней есть дата), просто переименуйте ее в нечто общее c, например Current_FRANCE.xlsm, и свяжите это с файлом сводки. Если вы получаете новые данные, вам просто нужно назвать их Current_FRANCE.xlsm, и они будут автоматически связаны.

Так что, возможно, вы пишете скрипт, который перемещает новые файлы данных из вашего ящика в папку сводных файлов и называет их Current_FRANCE.xlsm может быть решением.

Обратите внимание, что "держать файл открытым с запущенным кодом" может не работать, потому что, пока у него открыт файл, все остальные не смогут получить доступ к файлу для записи. Файлы могут быть открыты в режиме записи только один раз, все остальные будут иметь доступ только для чтения автоматически.

Так что если у вас есть структура папок, такая как

C:\Folder1\…
    … Summary.xlsm
    … Current_FRANCE.xlsm
    … Current_GERMANY.xlsm
    … Current_ITALY.xlsm

И вы перемещаете всю структуру например, C:\Folder2\SomeCompletelyDifferentFolder\… и откройте Summary.xlsm ссылки должны работать.

...