3

В настоящее время я заполняю первый столбец таблицы макросом, который вставляет все имена рабочих листов, но я пытаюсь полностью уйти от VBA, если это возможно.

1 ответ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)

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