Использовать косвенную адресацию и именованные диапазоны
1) Используйте фантомные ячейки (т.е. Z1 ... Zn), заполненные текстом "SheetN!" для каждого листа, который вы хотите удалить.
2) Определить имена диапазонов для всех ваших внешне адресуемых ячеек и диапазонов в этих листах
3) В ваших формулах замените ссылки на «Косвенные» и ЛИТЕРАТУРНЫЙ для указанного диапазона.
Пример:
Заменить
=Sum(Sheet1!A:A)
с
=SUM(INDIRECT(Z1&"caca"))
Где "caca" - это именованный диапазон, определенный в Sheet1 как A: A, а Z1 содержит "Sheet1!"
Другой пример:
Заменить
=Sheet1!A1+Sheet1!A2
с
=INDIRECT(Z1&"NamedRangeForA1")+INDIRECT(Z1&"NamedRangeForA2")
Теперь вы можете удалить Sheet1 без проблем со ссылками.
Вы должны воссоздать (в VBA) Именованные Диапазоны, когда добавляете свой новый Лист1.
Редактировать: Отвечая на ваш комментарий о листах с пробелами в названии
В этом случае вам нужно экстра-фу :)
Используйте это:
=INDIRECT("_'_" & Z1& "_'_!_" & "caca")
"_" следует удалить, так как я вставил их туда просто для упрощения визуализации одинарных и двойных кавычек.
В ячейку Z1 введите имя Sheet1 без кавычек и без восклицательного знака (как оно уже есть в формуле).
НТН!