Я создаю скрипт python, который автоматически заполнит данные в excel и экспортирует их в pdf. Каждый раз, когда он запускается, он создает и записывает данные в 5 новых листов excel, заполненных данными, выведенными из отдельной части программного обеспечения. Представьте эти листы как листы b, c, d, e и f. Лист A — это тот, который вызывает данные из этих других листов.
Я хочу, чтобы в книге Excel был только Лист A, но в ее ячейках все еще было, например, '=sheetB!H4'. Затем, когда скрипт Python запустится, он создаст лист b и заполнит данные, которые Лист A может вызывать. Моя проблема в том, что когда я удаляю эти листы bf, он также удаляет формулу на моем основном листе a. Возможно ли, чтобы у меня был только мой основной лист, но формулы на Листе A все еще вызывались для других листов.
Извините, если это сбивает с толку, дайте мне знать, если у вас есть какие-либо вопросы. Спасибо заранее.
решение1
Используйте КОСВЕННЫЙ:
=INDIRECT("sheetB!H4")
Это сохранит ссылку на лист даже если лист будет удален. Тогда при размещении нового листа с тем же именем он будет разрешен правильно.
Недостаток в том, что INDIRECT изменчив и будет рассчитываться каждый раз при изменении Excel. Поэтому отключите Automatic Calcs во время загрузки страниц и включите их снова после.