1

Я пытаюсь создать шаблон для документа, который будет обновляться каждую неделю, и мне было интересно, есть ли способ вставить некоторые значения автоматически в зависимости от значения ячейки.

Чтобы пояснить, каждый файл будет называться dd-mmm-yy, и я хочу сослаться на то, что было в файле на прошлой неделе и в файле две недели назад (чтобы быстро отслеживать шаблоны и тому подобное). Большинство из этих значений являются текстовыми, если это имеет значение.

Файл каждой недели будет сохранен в той же папке.

2 ответа2

1

Существует простой способ, но он работает только в том случае, если все другие рабочие книги, на которые вы собираетесь ссылаться, открыты одновременно. Это достигается с помощью функции INDIRECT .

http://www.contextures.com/xlFunctions05.html#RefWkbk

Однако, если другие рабочие книги будут закрыты (или могут быть закрыты), то это будет действительно сложно. Вы должны начать работать в VBA, то, что вы можете или не хотите делать. Немного полезной информации по этому вопросу с примерами:

https://stackoverflow.com/a/17838174/3602702

0

Вы можете попробовать совершенно альтернативный подход.

Каждый раз, когда вы создаете новую электронную таблицу dd-mmm-yy.xlsx вы обновляете жесткие ссылки week-0.xlsx , week-1.xlsx и week-2.xlsx (и столько, сколько вам нужно) для предыдущих недель.

Тогда лист прошлой недели всегда week-1.xlsx а неделя предыдущей week-2.xlsx .

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

del week-2.xlsx
ren week-1.xlsx week-2.xlsx
ren week-0.xlsx week-1.xlsx
mklink /h week-0.xlsx "%1"

Если вам нужно обработать намного больше, чем две таблицы предыдущих недель, то вы можете легко использовать цикл для переименования ссылок. Переименовывая ссылки и используя week-0.xlsx в качестве текущей недели, пакетный файл не должен обрабатывать или обрабатывать имена дат предыдущих листов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .