Excel как скопировать макрос в другую книгу

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Если книга содержит макрос Visual Basic для приложений(VBA),который вы хотите использовать в другом месте, вы можете скопировать модуль, содержащий этот макрос, в другую открытую книгу с помощью редактора Visual Basic(VBE).

Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.

  • Чтобы Windows, перейдите в меню Параметры > >Настроить ленту.

  • Для Macперейдите на Excel > параметры… >ленты & панели инструментов.

  • Затем в разделе Настройка ленты в разделе Основные вкладкиубедитесь в том, что в разделе Разработчик.

Общие сведения о макросах и VBA

Если вы не знакомы с макросами и VBA в целом, вам могут пригодиться следующие сведения:

  • Макрос — это действие или набор действий, которые можно использовать для автоматизации задач.

  • Макрос можно записать с помощью команды Запись макроса на вкладке Разработчик.

  • Макрос записуется на языке программирования VBA.

  • Вы можете проверить и изменить макрос в редакторе Visual Basic, которое открывается Excel. Вот пример окна VBE для Windows:

    Модуль, содержащий два макроса, которые хранятся в Модуле1 в Книге1

Макрос с именами MakeCellGreen и SetRowHeight находится в модуле Module1,который хранится в книге Book1.

Копирование модуля из одной книги в другую

  1. Откройте книгу, содержаную макрос, который вы хотите скопировать, и книгу, в которую вы хотите его скопировать.

  2. На вкладке Разработчик щелкните Visual Basic, чтобы открыть редактор Visual Basic редактора.

  3. В редакторе Visual Basic меню Вид выберите Project проводник Изображение кнопкиили нажмите CTRL+R .

  4. В области Project проводника перетащите модуль, содержащий макрос, который нужно скопировать в 9-ю книгу. В этом случае мы копируете Module1 из Book2.xlsm в Book1.xlsm.
     

    Окно проекта VBA

  1. Модуль1, скопирован из Book2.xlsm

  2. Копия модуля1, скопированная в Book1.xlsm

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Иногда возникает необходимость перенести макрос из одной книги Excel в другую. Для тех, кто слабо ориентируется в макросах предназначена эта пошаговая инструкция.

  1. Откройте в Excel файл, содержащий макрос, который надо перенести в другую книгу

  2. Перейдите в редактор Visual Basic for Applications (VBA) через комбинацию клавиш Alt+F11

  3. Слева в окне Project-VBAProject последовательно найдите ваш файл, далее раздел Modules, далее тот модуль, содержимое которого вы собираетесь переносить.

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

  5. Для каждого модуля, предназначенного к переносу, нажимайте на нём правую кнопку мыши (ПКМ) и выбирайте Export File…

  6. Обратите внимание, как называется файл, чтобы потом знать, что искать. Выбирайте удобную вам папку, нажимайте Сохранить.

  7. Проделайте это со всеми нужными вам модулями.

  8. Откройте целевой файл Excel, который должен иметь тип Книга Excel с поддержкой макросов (*.xlsm) или Двоичная книга Excel (*.xlsb). Если тип файла у вас не такой (обычно это Книга Excel (*.xlsx)), то пересохраните файл, через Сохранить как и укажите нужный нам тип.

  9. Точно также найдите этот файл в проектах редактора VBA (смотри выше)

  10. Нажмите на любом листе файла ПКМ и выберите пункт меню Import File…

  11. Выберите ранее сохраненный файл и нажмите Открыть

  12. Модуль будет проимпортирован в вашу книгу

  13. Повторите это для всех модулей

  14. Закройте VBA редактор

  15. Закройте файлы Excel с сохранением результатов

Созданный
макрос действует во всех листах открытой
книги. Для копирования макроса в другую
книгу нужно:

1 Открыть книгу,
содержащую копируемый модуль, и книгу,
в которую нужно его копировать – через
меню ФайлОткрытьили кнопкуОткрытьна панели инструментовСтандартная.

2 В меню Сервис
установить курсор на пунктМакроси выбрать ко-

манду
Редактор Visual Basic.

3 В меню Видвыбрать командуОкно проекта.

4.
Перетащить в Окне
проекта
с
помощью мыши копируемый модуль в нужную
книгу.

Примечание.Чтобы получить возможность использовать
макрос в любое время, сохраните его в
личной книге макросов. Он получит имя
следующим форматом: «PERSONAL.XLS.
Имя макроса».

Более
сложные макросы создаются с помощью
редактора Visual
Basic.

Контрольные вопросы

1
Что называется макросом, для чего он
предназначен?

2
Как записать макрос?

3 Способы запуска
макроса (перечислить).

4
Запись
макроса, запускаемого из меню Сервис и
сочетанием клавиш с клавиатуры.

5
Использование относительной и абсолютной
адресации при записи макросов.

6
Создание новой панели инструментов.
Назначение кнопки для запуска макроса
на новой панели инструментов .

7
Добавление кнопки запуска макроса на
существующие панели инструментов
(Стандартная,Форматирование и др.).

8
Добавление кнопки запуска на рабочий
лист с помощью панели инструментов
Формы.

9 Копирование
модуля макроса в другую книгу.

Задание

1 Разработать
макрос для вычисления прогнозируемых
значений функции y= 0,2·xn, гдеn– номер компьютера в аудитории.
Предварительно функцию нужно ввести в
ячейки столбца или строки процессораExcel, задав изменение
аргументах в пределах 1…7 с шагом
1 и вычислив в соседнем столбце (или
строке) по введённой формуле значения
функции у (см. л.р.excel– 3). Прогноз выполнить с помощью функций
ТЕНДЕНЦИЯ или РОСТ (см. л.р.excel– 4).

Макрос должен
запускаться кнопкой на панели Стандартнаяи кнопкой, расположенной на рабочем
листе.

2 Разработать
макрос для построения графика функции
y = 2·sin(n·x), гдеn– номер компьютера
в аудитории, для 10 значений аргумента
х = 1…10. При записи макроса использовать
относительную адресацию. Макрос должен
запускаться сочетанием клавиш с
клавиатуры и командой из менюСервис.

3 Открыть новую книгу и скопировать в неё оба макроса. Создать новую панель инструментов. Назначить макросам новые кнопки для их запуска с новой панели инструментов.

Содержание
отчёта

1
Название,
цель, содержание работы

2
Задание своего варианта

3
Письменные ответы на контрольные вопросы

4
Выводы по работе

На
жестком диске результаты работы должны
быть сохранены для показа преподавателю.

Лабораторная работа №7

Поиск
решения в Excel

Цель
работы:
научиться
использовать процессор Excel

для
решения задач оптимизации

Содержание
работы:

1
Создание формы

2
Ввод данных в окно Поиск
решения

3
Задание параметров поиска и решение
задачи

Общие
сведения

Математический
аппарат Excel
позволяет решать задачи линейного,
нелинейного и целочисленного
программирования. При этом оптимизация
решения выполняется методом поиска
решения, который запускается командой
СервисПоиск
решения
.

Задача
линейного программирования (ЗЛП) в общем
случае формулируется следующим образом:

Определить
максимум (минимум) целевой функции F
max(min) при заданной системе ограничений
(2) и граничных условий (3):

Fmax(min)
=A1*X1+A2*X2+…+An*Xn (1)

B11*X1+B12*X2+…+B1n*Xn<=C1

B21*X1+B22*X2+…+B2n*Xn<=C2

……………………….
……………………………. (2)

Bn1*X1+Bn2*X2+…+Bnn*Xn<=Cn

Xi>=0,
i=1…n (3)

Рассмотрим
применение процессора Excel для решения
ЗЛП на примере.

Задача.
МП выпускает товары Х1,Х2,Х3,Х4, получая
от реализации каждого прибыль в
60,70,120,130 руб. соответственно. Затраты на
производство приведены в табл. 1.
Определить:

  1. Максимум
    прибыли в зависимости от оптимального
    распределения затрат.

  2. Минимум
    ресурсов, необходимых для получения
    максимальной прибыли.

Таблица
1

Затраты

Х1

Х2

Х3

Х4

Всего

Трудовые

1

1

1

1

16

Сырьевые

6

5

4

1

110

Финансы

4

6

10

13

100

Составим
математическую модель процесса по
описанию задачи:

60Х1+70Х2+120Х3+130Х4
= Fmax
– целевая функция прибыли.

Х1+Х2+Х3+Х4
<= 16

6Х1+5Х2+4Х3+Х4
<= 110 — ограничения модели

4Х1+6Х2+10Х3+13Х4
<= 100

Хj
>=0
— граничные условия
модели

Решение
задачи средствами Excel состоит из 3 этапов:

1
Создание формы для ввода условий задачи,
ввод в неё исходных данных и зависимостей
из математической модели.

2
Ввод данных из формы в окно Поиск
решения

из меню Сервис.

3
Задание параметров поиска и решение
задачи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Как экспортировать все макросы из одной книги в другую?

Если вам нужно экспортировать несколько макросов VBA-кодов из одной книги в другую, вы можете скопировать их один за другим обычным образом. Но это займет много времени, в этой статье я расскажу о том, как быстро экспортировать все макросы из одной книги в другую, а также сохранить файлы макросов в определенной папке.

Экспорт всех макросов из одной книги в другую с кодом VBA


Экспорт всех макросов из одной книги в другую с кодом VBA

Чтобы экспортировать все коды макросов vba из одного файла Excel в другой, выполните следующие действия:

1. Во-первых, вы должны открыть две книги одновременно, одна содержит макросы, а другая — та, в которую вы хотите экспортировать макросы, см. Снимок экрана:

макросы экспорта документов 1

Вкладка Office: открытие, чтение, редактирование и управление несколькими документами Office в одном окне с вкладками.

Вкладка Office позволяет просматривать, редактировать и управлять приложениями Microsoft Office с вкладками. Вы можете открывать несколько документов / файлов в одном окне с вкладками, например, используя браузер IE 8/9/10, Firefox или Google Chrome. Нажмите, чтобы загрузить и бесплатную пробную версию сейчас!

макросы экспорта документов

2. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

3. Нажмите Вставить > Модуль, и вставьте следующий макрос в Модули Окно.

Код VBA: экспорт всех макросов из одной книги в другую:

Sub ExportAndImportModule()
Dim xStrSWSName, xSreDWSName As String
Dim xSWS, xDWS As Workbook
xStrSWSName = "old-workbook"
xSreDWSName = "new-workbook"
Dim xFilePath As String
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
 With xObjFD
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            xFilePath = .SelectedItems.Item(1)
        Else
            Exit Sub
        End If
End With
On Error GoTo Err1
Set xSWS = Workbooks(xStrSWSName & ".xlsm")
Set xDWS = Workbooks(xSreDWSName & ".xlsm")
Set xvbap = xSWS.VBProject
Set xVBC = xvbap.VBComponents
For Each Module In xSWS.VBProject.VBComponents
If Module.Type = vbext_ct_StdModule Then
Module.Export (xFilePath & "" & Module.Name & ".bas")
xDWS.VBProject.VBComponents.Import (xFilePath & "" & Module.Name & ".bas")
End If
Next Module
Exit Sub
Err1:
    MsgBox "come to nothing!"
End Sub

Внимание: В приведенном выше коде «старая книга»- это имя книги, из которой вы хотите экспортировать макросы, и«новая рабочая тетрадь»- это книга, в которую вы хотите импортировать макросы. Вы должны изменить имена на свои собственные. Обе книги должны быть XLSM формат файла.

макросы экспорта документов 2

4. После вставки вышеуказанного кода нажмите F5 ключ для запуска этого кода и Приложения отображается окно, выберите папку для хранения экспортированных файлов макросов, см. снимок экрана:

макросы экспорта документов 3

5. Затем нажмите OK Кнопка, и все макросы были экспортированы из указанной книги в другой файл Excel, а файлы макросов также были сохранены в определенной папке. Смотрите скриншот:

макросы экспорта документов 4

Внимание: Этот код может экспортировать макросы только из обычного модуля.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (3)


Оценок пока нет. Оцените первым!

Справка

  • Установка и настройка
  • Команды
  • Функции (формулы)
  • Продвинутый курс MS Excel
  • Сводные таблицы MS Excel
  • Диаграммы MS Excel

Если Вы не сильны в программировании, но, при этом, Вам необходимо реализовать какую-либо задачу, выходящую за рамки стандартных функций и команд MS Excel, можно поискать решение в интернете. Решение, скорее всего, найдется в виде VBA кода, который необходимо скопировать и вставить в Вашу рабочую книгу, потом каким-то образом заставить этот код работать на Вас, в этой статье я расскажу, как это сделать.

Файлы для скачивания:

Файл Описание Размер файла: Скачивания
Пример 14 Кб 2614

Рассмотрим два примера:

1. Ищем и используем команду

Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру «1». Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:

Выделяем данный код (без нумерации строк, начиная со слова Sub) и нажимаем Ctrl+C. Переходим в свою рабочую книгу MS Excel и нажимаем сочетание клавиш Alt+F11, у вас откроется окно редактора VBA:

Как вставить готовый макрос в рабочую книгу?

В левом окне «Project — VBA Project» выбираем (щелкаем мышкой) нашу рабочую книгу, в которую необходимо вставить макрос, например, «VBAProject (Книга2)»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_5.png

В пункте меню «Insert» выбираем «Module»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_2.png

В левом окне «Project — VBA Project» у вас должна появиться новая папка «Modules» и в ней новый объект «Module1»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_3.png

Переходим курсором в правое «Большое» поле для ввода и нажимаем Ctrl+V, скопированный макрос вставиться в модуль:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_4.png

После чего закрываем редактор VBA и возвращаемся в рабочую книгу.

Если вы работаете в MS Excel 2007, 2010 или 2013, вам необходимо будет сохранить вашу рабочую книгу как «Книга Excel с поддержкой макросов (.xlsm)»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_16.png

В MS Excel 2003 достаточно будет просто сохранить файл.

Чтобы выполнить скопированный в книгу макрос выделяем ячейки, в которые необходимо вставить «1», нажимаем в меню «Вид» кнопку «Макросы» и в выпавшем списке выбираем пункт «Макросы» или нажимаем сочетание клавиш Alt+F8:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_8.png

Откроется диалоговое окно «Макрос», в списке макросов выбираем свой и нажимаем кнопку «Выполнить»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_9.png

Макрос выполнится — в выделенные ячейки вставиться «1»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_20.png

Макросы в MS Excel можно вставлять в следующие места:

  • В Модуль, обычно вставляют код макросов, запуск которых будет производится по нажатию кнопки пользователем (как, например, в нашем случае) или код функций (формул);
  • В Рабочий лист, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий пользователя или изменения данных в листе (поменялись данный, макрос выполнился);
  • В Рабочую книгу, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий, производимых над книгой (файлом). Например, макрос, который запускается при открытии или закрытии книги, или при ее сохранении;
  • Так же макросы могут быть частью пользовательской формы.

Обычно, человек, который публикует код, указывает, куда его необходимо вставить, в модуль, в лист или книгу.

Чтобы вставить код в Рабочий лист, в левом окне редактора VBA выберите соответствующий лист, щелкните по нему два раза левой кнопкой мышки, переместите курсор в правое поле ввода и вставьте код.

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_10.png

Для вставки кода в Книгу, выберите «ЭтаКнига»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_17.png

Давайте потренируемся. Вставьте код опубликованный ниже в «Лист1».

Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа «2».

Вернитесь в рабочую книгу, перейдите в «Лист1» и введите в ячейку «А1» цифру «2» и нажмите Enter, после чего у вас должно появиться следующее сообщение:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_11.png

Если вы видите это сообщение, то вы все сделали правильно. Если нет, то вы вставили код куда-то не туда, повторите попытку.

При вставке кода, необходимо внимательно следить за тем, куда вы его вставляете. Это можно сделать посмотрев на то, что написано в заголовке окна редактора VBA:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_21.png

2. Ищем и используем функцию

Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:

Копируем код, нажимаем сочетание клавиш Alt+F11, откроется редактор VBA:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_22.png

Добавляем новый модуль в свою книгу и в этот модуль вставляем скопированный код:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_23.png

Закрываем редактор VBA и переходим в свою рабочую книгу. Создаем новый лист (необязательно) в ячейку A1 вводим текст «мама мыла раму». Встаем в ячейку, в которой хотим получить результат (количество слов), в меню «Формулы» нажимаем кнопку «Вставить функцию»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_12.png

В открывшемся окне «Вставка функции» в поле «Категория» выбираем «Определенные пользователем»

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_13.png

В списке доступных функций выбираем «КолСловВЯчейке», нажимаем «ОК»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_14.png

Вводим необходимые аргументы и нажимаем «ОК»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_15.png

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_24.png

Важно:

Если вы не сохраните книгу, в которую вставили макрос как «Книгу с поддержкой макросов», все модули с макросами удаляться и вам придется, потом, повторно проделывать всю эту работу.

Если при вставке макроса в модуль у вас вместо некоторого текста стоят красные знаки » . «

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_6.png

Это значит, что у вас проблема с кодировкой, которая наблюдается с копированием Кириллического текста из некоторых браузеров. Чтобы победить эту проблему, попробуйте вставить скопированный код в пустой лист MS Excel, как «Текст в кодировке Unicode». Для этого перейдите в книгу MS Excel, выберите или создайте пустой лист, встаньте в ячейку «A1» и нажмите сочетания клавиш Ctrl+Alt+V. Должно будет появиться меню «Специальной вставки», выберите пункт «Текст в кодировке Unicode» и нажмите «OK».

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_7.png

Код должен будет вставиться в рабочий лист без знаков вопроса:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_18.png

После этого, еще раз скопируйте вставленный в лист код, и вставить его уже в модуль.

Если вы не видите в редакторе VBA окна «Project — VBA Project», перейдите во вкладку меню «View» и в списке выберите пункт «Project Explorer» или нажмите сочетание клавиш Ctrl+R:

Понравилась статья? Поделить с друзьями:
  • Excel как скопировать лист без ссылок
  • Excel как скопировать значение если в ячейке формула
  • Excel как скопировать значение а не ссылку
  • Excel как скопировать диапазон с одной книги в другую книгу
  • Excel как скопировать диаграмму на другой лист