В настоящее время я заполняю первый столбец таблицы макросом, который вставляет все имена рабочих листов, но я пытаюсь полностью уйти от VBA, если это возможно.
1 ответ
1
Вы можете сделать это с помощью формулы Index/Mid
и создания именованного диапазона.
Шаг 1 - Создайте именованный диапазон, назовите его SheetNames
, и "Относится к" =GET.WORKBOOK(1)&T(NOW())
Шаг 2 - Поместите это в ячейку, где вы хотите начать перечислять имена листов, и перетащите вниз:
=INDEX(MID(SheetNames,FIND("]",SheetNames)+1,255),ROWS(A$1:A1))
Это предполагает, что ваша рабочая книга была сохранена.
И, конечно, вы можете заключить это в IFERROR([formula],"")
чтобы скрыть любые ошибки #REF
.
(Нашел это благодаря MrExcel.com)