#vba #excel-formula
Вопрос:
В листе 1 формула в ячейке A1 выражается следующим =Sheet2!E1 Sheet3!F1 Sheet4!G1
образом: фактические имена ячеек E1 в листе 2, F1 в листе 3 и G1 в листе 4 являются SourceFromSheet2, SourceFromSheet3 и SourceFromSheet4 соответственно. Существует ли параметр или код, позволяющий формуле ячейки A1 в листе 1 автоматически отображаться как =SourceFromSheet2 SourceFromSheet3 SourceFromSheet4
Комментарии:
1. Да, если вы определяете имена с областью действия книги , они доступны из любого места книги. Если вы определили имена с помощью области листа , то они доступны только из листа, который их определяет.
2. Я определил имена на листах 2, 3 и 4 с областью действия рабочей книги. Они называются SourceFromSheet2, SourceFromSheet3 и SourceFromSheet4 соответственно. Но формула в ячейке A1 на листе 1 по-прежнему выражается как =Лист2!E1 Лист3!F1 Лист4! G1. Можем ли мы автоматически установить его в =SourceFromSheet2 SourceFromSheet3 SourceFromSheet4?
3. Нет, вам нужно отредактировать формулу , чтобы получить это — это может быть достигнуто путем проверки
Precedents
коллекции каждой ячейки и сравнения с именами каждойRefersToRange
ячейки, а затем соответствующей замены фрагментов в формуле. Теперь это довольно много проблем, которые нужно решить для одного вопроса, но решайте каждую проблему по очереди, и вы добьетесь своего; не стесняйтесь задавать конкретный вопрос о конкретной проблеме, с которой вы столкнулись, вставляя свой код в сообщение и описывая любые ошибки, которые вы получаете. Удачи!
Ответ №1:
Войдите в Лист2, ячейка E1; в поле имя написано «E1».:
Теперь введите имя, которое вы хотите для него, в поле имя:
Откройте диспетчер имен на вкладке Лента формул:
Обратите внимание, что в столбце «Область действия» указано «Рабочая книга»: вы можете ссылаться на это имя в любой формуле в любом месте этой книги!
В качестве альтернативы создайте имя из самого менеджера имен; нажмите кнопку «Создать…» и определите имя в области «Рабочая книга» .:
Теперь имена в области рабочей книги отображаются в режиме автоматического заполнения формул, и вы знаете, что сделали это правильно:
Вы также можете программно определить имена области действия книги, добавив их в ThisWorkbook.Names
коллекцию.