Программное копирование всех имен диапазонов в Excel
Сводка
В Microsoft Office Excel можно создать макрос Microsoft Visual Basic для приложений (VBA), который можно использовать для копирования всех имен диапазонов из активной книги в другую книгу.
Дополнительная информация
Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут объяснить функциональность отдельной процедуры. обязаны изменять примеры для реализации дополнительных возможностей или удовлетворения требований конкретных пользователей.
Чтобы создать и использовать макрос для копирования всех имен диапазонов из активной книги в другую книгу, выполните действия, описанные в следующем примере:
Запустите Excel, а затем в новой книге щелкните ячейку A1.
Выполните одно из следующих действий:
- В Microsoft Office Excel 2007 перейдите на вкладку Формулы , а затем щелкните Определить имя в группе Определенные имена .
- В Microsoft Office Excel 2003 в и более ранних версиях Microsoft Excel наведите указатель мыши на имя в меню Вставка , а затем выберите команду Определить.
В диалоговом окне Определение имен в книге введите Range1 и нажмите кнопку ОК.
Выберите ячейку B1.
Выполните одно из следующих действий:
- В Excel 2007 перейдите на вкладку Формулы , а затем щелкните Определить имя в группе Определенные имена .
- В Excel 2003 и более ранних версиях Excel наведите указатель мыши на имя в меню Вставка и выберите команду Определить.
В диалоговом окне Определение имен в поле Имена в книге введите Range2 и нажмите кнопку ОК.
Нажмите клавиши ALT+F11, чтобы запустить редактор Visual Basic.
В меню Вставка выберите пункт Модуль.
На листе модуля введите следующий код:
Sub Copy_All_Defined_Names() ' Loop through all of the defined names in the active ' workbook. For Each x In ActiveWorkbook.Names ' Add each defined name from the active workbook to ' the target workbook ("Book2.xls" or "Book2.xlsm"). ' "x.value" refers to the cell references the ' defined name points to. Workbooks("Book2.xls").Names.Add Name:=x.Name, _ RefersTo:=x.Value Next x End Sub
Нажмите клавиши ALT+F11, чтобы вернуться в Excel.
Выполните одно из следующих действий:
- В Excel 2007 нажмите кнопку Microsoft Office, наведите указатель мыши на пункт Сохранить как, щелкните Excel Macro-Enabled книга, а затем сохраните книгу как Book1.xlsm.
- В Excel 2003 и более ранних версиях Excel в меню Файл нажмите кнопку Сохранить, а затем сохраните книгу как Book1.xls.
Выполните одно из следующих действий:
- В Excel 2007 нажмите кнопку Microsoft Office, нажмите кнопку Создать, Пустая книга, а затем — Создать.
- В Excel 2003 нажмите кнопку Создать в меню Файл , а затем выберите пункт Пустая книга в области задач Новая книга .
- В Excel 2002 и более ранних версиях Excel в меню Файл нажмите кнопку Создать, выберите Книга, а затем нажмите кнопку ОК.
Выполните одно из следующих действий:
- В Excel 2007 нажмите кнопку Microsoft Office, наведите указатель мыши на пункт Сохранить как, выберите Excel Macro-Enabled книга, а затем сохраните книгу как Book2.xlsm.
- В Excel 2003 и более ранних версиях Excel в меню Файл выберите команду Сохранить как, а затем сохраните книгу как Book2.xls.
Переключитесь на Book1.
Примечание.
Чтобы увидеть кнопку Book1, может потребоваться свернуть или восстановить Book2.
Выполните одно из следующих действий:
В Excel 2007 откройте вкладку Разработчик и выберите пункт Макросы.
Примечание.
Если вкладка Разработчик не отображается, нажмите кнопку Microsoft Office, выберите параметры Excel, выберите пункт Популярные, выберите вкладку Показать разработчик в поле Лента проверка и нажмите кнопку ОК.
В Excel 2003 и более ранних версиях Excel наведите указатель мыши на пункт Макрос в меню Сервис , а затем выберите пункт Макросы.
В списке Имя макроса щелкните Copy_All_Defined_Names и нажмите кнопку Выполнить.
Переключитесь на Book2 и обратите внимание, что ячейка A1 называется Range1, а ячейка B1 — Range2.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по