Excel использует ссылку для имен рабочих листов

Excel использует ссылку для имен рабочих листов

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

Вот моя строка кода,

='[WorkBook]BOM'!G6

Я хочу сделать так, чтобы Workbook вызывал ячейку, чтобы я мог массово заменить все имена «Workbook» без поиска и замены.

По сути, что-то вроде этого (хотя этот код не работает, он просто для справки)

='[=E1]BOM'!G6

Затем в ячейке E1 я смогу ввести любой текст, который захочу, чтобы заменить имя Workbooks. Я пытаюсь найти Формулу, чтобы сделать это.

решение1

Эту функцию следует использовать INDIRECT()для оценки текстовой строки как функции.

=INDIRECT("'["& E1 & "]BOM'!G6")

Обратите внимание, что INDIRECT()функция вернет значение только в том случае, если указанная рабочая книга открыта. В противном случае она вернет ошибку #REF!.

решение2

INDIRECTне будет работать с закрытыми внешними рабочими книгами. Кажется, лучшим вариантом для автоматизации будет поместить путь к рабочей книге в ячейку и написать макрос, который найдет/заменит все вхождения старого имени рабочей книги и заменит на новое имя рабочей книги.

решение3

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

Например, вы называете диапазон A1:A100 MyRange в Workbook 1.

Затем в вашей текущей рабочей книге вы можете ввести «MyRange» в ячейку E1 рабочей книги 2.

затем используйте INDIRECT(E1)

Связанный контент