Как копировать макрос в 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 с сохранением результатов

Копирование макроса

light26

Дата: Среда, 31.08.2011, 11:57 |
Сообщение № 1

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Всем доброго времени суток.
Уважаемые мастера, подскажите как копировать тело макроса из одного файла в другой. Ведь, если я правильно понимаю, при написании макроса его код сохраняется вместе с таблицей Excel в файле, назовем его Х1.xls. То есть где бы я впоследствии этот файл не открыл, макрос будет выполняться. в то же время, если я открою в Excele файл, скажем Х2.xls и захочу выполнить макрос записанный в Х1.xls, то у меня ничего не получится.
Разберем на примере
Вот ссылка к макросу выпадающего календаря (в «Готовых решениях»)
Календарь
Как мне заставить этот макрос работать в другом файле(см. вложение)
Я пытался найти ответ на страницах интернета, но безуспешно (((

К сообщению приложен файл:

5417587.xls
(42.0 Kb)


Я не волшебник. Я только учусь

Сообщение отредактировал light26Среда, 31.08.2011, 12:07

 

Ответить

Саня

Дата: Среда, 31.08.2011, 12:22 |
Сообщение № 2

Группа: Друзья

Ранг: Ветеран

Сообщений: 1067


Репутация:

560

±

Замечаний:
0% ±


XL 2016

можно сделать экспорт-импорт всего модуля, можно, чтобы код написал другой код

 

Ответить

light26

Дата: Среда, 31.08.2011, 12:30 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Вот как раз первый вариант у меня не получается (не знаю че делаю не так), а второй вариант не пробовал. это как?


Я не волшебник. Я только учусь

 

Ответить

RAN

Дата: Среда, 31.08.2011, 12:52 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Открываешь свой файл и файл с календарем.
Заходишь в редактор VBA.
Открываешь Wiev — Project Explorer (если закрыт)
Открываешь Forms
Хватаешь мышом DateForm и тащишь в норку (свой файл).
Аналогично с модулями и модулями класса.

ВСЕ! Календарь в твоем файле!

А для запуска календаря в модуле Лист1 прописан код
Private Sub Worksheet_SelectionChange
Но этот код вызывает календарь только в столвце F
Процедуру вызова необходимо изменить в соответствии с желаниями.

Поищи на планете «всплывающий календарь, открытый код» или «почему к всех работает, а у Мули нет»
Там куча различных процедур запуска календаря


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСреда, 31.08.2011, 12:56

 

Ответить

light26

Дата: Среда, 31.08.2011, 12:56 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

RAN,

Quote (RAN)

Открываешь Forms
Хватаешь мышом DateForm и тащишь в норку (свой файл).
Аналогично с модулями и модулями класса.

я пробовал. Он не по русски матом начинает ругаться (((


Я не волшебник. Я только учусь

Сообщение отредактировал light26Среда, 31.08.2011, 12:56

 

Ответить

RAN

Дата: Среда, 31.08.2011, 13:06 |
Сообщение № 6

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Сказочник!

К сообщению приложен файл:

light26.rar
(37.8 Kb)


Быть или не быть, вот в чем загвоздка!

 

Ответить

Саня

Дата: Среда, 31.08.2011, 13:15 |
Сообщение № 7

Группа: Друзья

Ранг: Ветеран

Сообщений: 1067


Репутация:

560

±

Замечаний:
0% ±


XL 2016

Quote (light26)

а второй вариант не пробовал. это как?

1)

Code

        ‘ — переброс модуля  
         Dim Filename As String
         Filename = ThisWorkbook.Path & «tempMod.bas»

         WbFrom.VBProject.VBComponents(«имя_модуля»).Export Filename

         WbTo.VBProject.VBComponents.Import Filename
         Kill Filename

2)

Code

Public Const z As String = vbNewLine
         ‘ — в модуль «ЭтаКнига» ———————————————-
         s = «»
         s = s & «Option Explicit» & z & z

         s = s & «Private Sub Workbook_Open()» & z & z

         s = s & »    If Environ(«»UserName»») = «»login»» Then» & z
         s = s & »        Cells(1, » & n & «).EntireColumn.Hidden = False» & z
         s = s & »    End If» & z
         s = s & «End Sub»

         Set vbComp = wb.VBProject.VBComponents(«ЭтаКнига»)

         With vbComp.CodeModule
             .InsertLines .CountOfLines + 1, s
         End With

         Set vbComp = Nothing

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:18 |
Сообщение № 8

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013


Да нет, правда! Сейчас у меня тоже получилось. а раньше такой мат трехэтажный стоял… )))
Но все-равно. я скопировал вроде все модули, а листа с Private Sub Worksheet_SelectionChange не нашел. в оригинальном файле он был, а тут нету (
не знаю где че не так делаю. буду разбираться. спасибо


Я не волшебник. Я только учусь

Сообщение отредактировал light26Среда, 31.08.2011, 13:19

 

Ответить

RAN

Дата: Среда, 31.08.2011, 13:24 |
Сообщение № 9

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Quote (light26)

а листа Private Sub Worksheet_SelectionChange не нашел. в оригинальном файле он был, а тут нету

Я же говорю — сказочник!
В оригинале такого листа тоже не было!
А в твоем файле вот он, туточки! tongue

К сообщению приложен файл:

7327651.png
(1.9 Kb)


Быть или не быть, вот в чем загвоздка!

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:24 |
Сообщение № 10

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Саня, то-есть мне надо открыть редактор VBA, в VBAProject (Имя файла) (или в имени листа) кликнуть правой кнопкой, выбрать insert, затем Module и в появившееся окно вставить этот код?


Я не волшебник. Я только учусь

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:26 |
Сообщение № 11

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Quote (RAN)

А в твоем файле вот он, туточки!

а-а-а-а, а я-то его в модулях искал ))))))
значит эту запись мне тоже надо добавить в самом листе?
Потому что сейчас запись на листе у меня выглядит вот так:

Code

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim arr
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(2)) Is Nothing Then
     Application.EnableEvents = False
     arr = www
         If Target = arr(3, 1) Then Target.Offset(, 22) = Format(Now, «hh:nn DD.MM.YYYY»)
         If Target = arr(4, 1) Then Target.Offset(, 23) = Format(Now, «hh:nn DD.MM.YYYY»)
         If Target = arr(5, 1) Then Target.Offset(, 26) = Format(Now, «hh:nn DD.MM.YYYY»)
         If Target = arr(6, 1) Then Target.Offset(, 24) = Format(Now, «hh:nn DD.MM.YYYY»)
         If Target = arr(7, 1) Then Target.Offset(, 25) = Format(Now, «hh:nn DD.MM.YYYY»)
     Application.EnableEvents = True
     End If
End Sub


Я не волшебник. Я только учусь

Сообщение отредактировал light26Среда, 31.08.2011, 13:28

 

Ответить

RAN

Дата: Среда, 31.08.2011, 13:30 |
Сообщение № 12

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Какую запись добавить? surprised
Я же туда уже все вставил, и даже диапазоны поменял! lol


Быть или не быть, вот в чем загвоздка!

 

Ответить

Саня

Дата: Среда, 31.08.2011, 13:32 |
Сообщение № 13

Группа: Друзья

Ранг: Ветеран

Сообщений: 1067


Репутация:

560

±

Замечаний:
0% ±


XL 2016

Quote (light26)

Саня, то-есть мне надо открыть редактор VBA, в VBAProject (Имя файла) (или в имени листа) кликнуть правой кнопкой, выбрать insert, затем Module и в появившееся окно вставить этот код?

этот код вставлять никуда не надо, я тебе показываю, как в принципе, программируется VBE, а как ты сделаешь в своем конкретном случае, я не знаю…

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:32 |
Сообщение № 14

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

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


Я не волшебник. Я только учусь

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:34 |
Сообщение № 15

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Quote (Саня)

я тебе показываю, как в принципе, программируется VBE

у-у-у, до этого мне еще далеко ))))
но все-равно спасибо. )


Я не волшебник. Я только учусь

 

Ответить

RAN

Дата: Среда, 31.08.2011, 13:37 |
Сообщение № 16

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Куда делся не знаю, но
Private Sub Worksheet_SelectionChange <>Private Sub Worksheet_Change
Это как-бы две разных процедуры по двум разным событиям


Быть или не быть, вот в чем загвоздка!

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:37 |
Сообщение № 17

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

RAN, Можно просьбу?
подпиши, пожалуйста, что делает каждая строка. ( с if target я разобрался сам на 95%) )))


Я не волшебник. Я только учусь

 

Ответить

light26

Дата: Среда, 31.08.2011, 13:44 |
Сообщение № 18

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Quote (RAN)

Private Sub Worksheet_SelectionChange <>Private Sub Worksheet_Change
Это как-бы две разных процедуры по двум разным событиям

ну и как их «объединить?


Я не волшебник. Я только учусь

 

Ответить

RAN

Дата: Среда, 31.08.2011, 13:58 |
Сообщение № 19

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Да никак.
Эти процедуры должны быть обе в модуле листа1
Одна обрабатывает событие перемещения по ячейкам — Private Sub Worksheet_SelectionChange,
а другая — событие изменения значения в ячейке — Private Sub Worksheet_Change


Быть или не быть, вот в чем загвоздка!

 

Ответить

light26

Дата: Среда, 31.08.2011, 14:09 |
Сообщение № 20

Группа: Друзья

Ранг: Старожил

Сообщений: 1341


Репутация:

91

±

Замечаний:
0% ±


2007, 2010, 2013

Quote (RAN)

Эти процедуры должны быть обе в модуле листа1

а сделать-то это как?


Я не волшебник. Я только учусь

 

Ответить

Microsoft Excel’s implementation of Visual Basic for Applications, or VBA, helps you record or write macros that turn sequences of tasks and commands into pieces of one-click automation. Macros can speed up the process of formatting data or cells, especially when you perform the same actions on many cells and in many files. To migrate your macros from one computer to another and one copy of Excel to another, start by combining the macros from various documents into one easily portable spreadsheet template.

  1. Click on the «File» tab in the Microsoft Excel interface, choose «Options» and then click on «Customize Ribbon.» In the Main Tabs area, verify that the Developer option is active. Click on the «OK» button to confirm your options.

  2. Switch to the Developer tab’s Code group and select «Macro Security.» Temporarily enable all macros by activating the «Enable All Macros» check box. Click the «OK» button.

  3. Click the «File» tab again and choose «Open.» Navigate to the first of your existing Excel files that contains one or more macros you want to move to another computer. Click the «Open» button to open your document. Create a new Excel file by clicking on the «File» tab and choosing «New.»

  4. Launch the Visual Basic Editor from the Developer tab’s Code group. Open the Editor’s View menu and select the «Project Explorer» option.

  5. Locate the listings in the Project Explorer for the workbook you opened. Its elements begin with a section headed «Microsoft Excel Objects» followed by a list of the file’s worksheets. The next section, «Modules,» contains the list of the file’s macros. Drag and drop the modules from the file you opened to the new Modules section in the data listing for the Excel file you created. This copies the macros from their original document to your new file. Open each of the files from which you want to copy macros and repeat the process of copying macros, closing each file after you’ve copied its resources.

  6. Click on the File tab again, select «Save As» and then choose «Excel Macro-Enabled Template» from the list of file types. Name the file so you’ll recognize it and select an easy-to-find location to save it. Click on the «Save» button to complete the process.

  7. Switch to the Developer tab’s Code group and select «Macro Security.» Turn off the «Enable All Macros» check box to resume normal macro security. Click on the «OK» button.

  8. Copy your macro-enabled template to a flash drive. Move the flash drive to your target computer and copy the template to it. Use the Visual Basic Editor’s Project Explorer to copy macros from the workbook you created to new spreadsheets on your new computer.

Содержание

  1. Копирование модуля макроса в другую книгу
  2. Общие сведения о макросах и VBA
  3. Копирование модуля из одной книги в другую
  4. Дополнительные сведения
  5. Как перенести макрос на другой компутер?
  6. Table of Contents:
  7. Скопируйте макрос из одной рабочей книги в другую
  8. Экспорт и импорт макроса
  9. Создание персональной макрокоманды
  10. Как запустить макросы Excel в Mac iWork
  11. Как найти скрытые макросы в электронной таблице Excel
  12. Как записывать и запускать макросы для автоматизации задач в слове
  13. Excel. Макросы. Как перенести готовый макрос в свой файл (Октябрь 2021).
  14. Создание и сохранение всех макросов в одной книге
  15. Перемещение макросов на другой компьютер
  16. Перемещение макросов на другой компьютер
  17. Дополнительные сведения
  18. Как перенести макросы excel на другой компьютер
  19. Перенос VBA макроса из одной книги в другую

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

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

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

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

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

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

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

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

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

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

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

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

bc61d080 847f 4890 b66e ed55df87e3b3

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

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

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

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

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

75168671 4e36 4d2b b554 282fee2630c5

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

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

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

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

Источник

Как перенести макрос на другой компутер?

Я написал несколько макросов (на Экселе). Но они должны работать на другом компутере. Как бы мне их перенести туда?
Говорят, что одного файла (xls) с макросами недостаточно. Слышал, что как-то это с помощью шаблонов делают. И еще такой вопрос: на другом компутере неохота заново панель инструментов для этих макросов создавать: иконки снова рисовать, макросы им назначать и т.п. Как бы мне и панельку с собой прихватить?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

tickМакрос. Выбрать отмеченные позиции и перенести на другой лист
Доброго времени суток В Книге 2 листа На листе «Общий» есть таблица состоящая из 6 столбцов.

Как перенести Range на другой лист
Public shet As Worksheet Public rng As Range Private Sub CommandButton1_Click() Set shet =.

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

Да, теперь я могу ‘вложить’ панель макросов в проект, но как ее
оттуда вытащить?
Может, я что-то не так делаю:

Выбираю в меню ‘Сервис/Настройка/Вложить’;
перетаскиваю ‘Макросы’ на ‘Панели книги’;
сохраняю.

Затем, чтобы убедиться, что все работает, удаляю с панели ‘Макросы’ несколько кнопок. Закрываю Excel, открываю снова, загружаю файл, в который я ‘вложил’ панельку с макросами, а кнопки макросов на панельке те же, то есть, как перед закрытием Excel. Как их увидеть?

Лана, вроде бы сам доехал:

Да, я так и понял. Примерно так и сделал: создал свой макрос и в нем написал всего лишь одну строку
Application.CommandBars(‘МОЯ_ПАНЕЛЬ’).Delete
Ты пишешь, надо не просто макрос писать, а какую-то приватную функцию:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Наверное, вопрос нужно задать по-другому:
Куда нужно вставить эту функцию и как это сделать?

P.S. Закрытие файла xls не приводит к закрытию МОЕЙ_ПАНЕЛИ.

И все равно не ясно. Что понимается под словосочетанием ‘окно программы’? Наверное, ‘окно макроса’ и ‘окно программы’ это разные вещи?
И где я должен выбирать нужное событие? Где находится менеджер событий, как его вызвать?

Sorry, вопрос рано задал. Вроде бы сам ответ нашел. Кстати, я вплоть до сегодняшнего дня чисто макросы писал, в программу, события не лез. Просто надобности не было.
Если я в форуме видел какие-то программки, со всякими Sub, Private и т.п., я думал, что это что-то вроде процедур, но никак не мог понять, куда и как их вставлять.
Если кому-то интересно с событиями возиться, опишу, как выйти на ‘Программу’. Конкретнее, как перейти к событию ‘Before’

Итак:
1. Можно или:
а) выбрать ‘Сервис/Макрос/Редактор Visual Basic’;
б) перейти в окно редактирования макросов (если оно открыто);
в) нажать Alt+F11.
2. Открыть ‘Окно проекта'(если оно не открыто):
а) Вид/Окно проекта
б) Ctrl+R
3. В ‘Окне проекта’ встать на строку ‘ThisWorkbook’
4. Нажать на правую кнопку мыши и выбрать ‘Программа’
5. На появляющемся окне сверху имеется два выпадающих меню.
Активизируем левое и выбираем в нем ‘Workbook’
6. Теперь в правом окне можно выбирать необходимое событие и
работать с ним. В данном случае нужно выбрать ‘BeforeClose’

Источник

Table of Contents:

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

Скопируйте макрос из одной рабочей книги в другую

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

how do i import macros for

how do i import macros for excel 1

В диалоговом окне Макрос выберите макрос Вы хотите отобразить в редакторе Visual Basic (VB) и нажмите на редактировать кнопка для отображения кода VBA макроса.

how do i import macros for excel 2

В редакторе VB выберите только операторы программного кода макроса; не включайте заголовок макроса или последнюю строку. Нажмите на редактировать и выберите копия из выпадающего меню, чтобы скопировать выделенный код.

how do i import macros for excel 3

Откройте книгу, в которую нужно добавить макрос. На вкладке Разработчик, нажмите на макрос кнопка. Присвойте имя макросу, а затем нажмите на Создайте кнопка для отображения редактора VB. Когда редактор VB откроется, поместите курсор на пустую строку между двумя операторами. Нажмите на редактировать и выбрать Вставить из раскрывающегося меню, чтобы вставить скопированный код. Нажмите на файл а также Сохранить сохранить рабочую книгу и макрос.

Экспорт и импорт макроса

Этот метод создает файл кода VB (файл BAS), который можно экспортировать, чтобы его можно было импортировать в другие книги Excel.

how do i import macros for excel 4

Откройте редактор VB и отобразите макрос, который вы хотите экспортировать. Нажмите на файл и выбрать Экспорт файла.

how do i import macros for excel 5

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

how do i import macros for excel 6

Чтобы импортировать файл BAS и добавить его в проект книги, выберите вкладку «Разработчик» и щелчок на кнопку Visual Basic, чтобы открыть редактор VB. В редакторе VB нажмите файл а затем нажмите Импортировать файл отобразить диалоговое окно «Импорт файла». проводить в соответствующую папку и Выбрать файл для импорта. Нажмите открыто импортировать файл.

Создание персональной макрокоманды

Когда Excel запускается, он открывает файл Personal.xlsb, если он присутствует, как скрытую книгу. Этот файл содержит макросы, доступные для любой книги Excel, работающей на одном компьютере. Создание файла Personal.xlsb предоставляет библиотеку макросов макросов, доступных на этом компьютере.

how do i import macros for excel 7

Чтобы создать файл Personal.xlsb, откройте новый Рабочая тетрадь в Excel. На разработчик вкладку, нажмите на Запись макроса кнопка для отображения Запись макроса диалоговое окно.

how do i import macros for excel 8

Присвойте имя макросу, затем выберите Личная Макро Книга на опцию «Сохранить макрос как». Нажмите Хорошо начать запись. Выполните действия, которые будут включены в макрос. Когда действия будут завершены, нажмите на Остановить запись на вкладке Разработчик или нажмите Остановить запись кнопка в строке состояния в левом нижнем углу книги.

how do i import macros for excel 9

После завершения макроса, нажмите на кнопку Visual Basic на вкладке Разработчик, чтобы открыть VB редактор, Выбрать VBAPROJECT (PERSONAL.XLSB) в проект панель. Нажмите на файл а затем Сохранить PERSONAL.XLSB вариант.

Как запустить макросы Excel в Mac iWork

how to run excel macros in a mac iwork 1

Как найти скрытые макросы в электронной таблице Excel

how to find hidden macros in an excel spreadsheet

Как записывать и запускать макросы для автоматизации задач в слове

how record run macros automate tasks word

Вы часто выполняете одни и те же действия в Word? Сэкономьте время, создав макрос для запуска нескольких действий одним щелчком мыши.

Excel. Макросы. Как перенести готовый макрос в свой файл (Октябрь 2021).

Источник

Создание и сохранение всех макросов в одной книге

Когда вы впервые создаете макрос в книге, он работает только в ней. А если вам нужно использовать макрос в других книгах? Чтобы макросы были доступны при каждом запуске Excel, создайте их в книге с именем Personal.xlsb. Это скрытая книга, которая хранится на компьютере и открывается в фоновом режиме при каждом Excel.

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

be1200dc fdf2 48d0 a8e6 b23a1a885339

Теперь создайте макрос. Мы зафиксим макрос, который ничего не делает, но создаст личную книгу макроса.

Дополнительные сведения о создании макросов см. в разделе Краткое руководство. Создание макроса.

Перейдите на вкладку Разработчик и нажмите кнопку Запись макроса.

cb9090b4 f90e 45f5 b289 e9481a6fdbd1

В диалоговом окне Запись макроса не помешает ввести имя макроса в поле Имя макроса. Вы можете принять имя, которое Excel, например Макрос1, так как это просто временный макрос.

Когда вы начнете создавать собственные макросы, вам нужно будет дать им описательные имена, чтобы вы знали, что они делают.

В поле Сохранить в выберите Личная книга макроса и > ОК. Это самый важный шаг, так как если у вас еще нет личной книги макроса, Excel создаст ее.

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

Чтобы увидеть созданный макрос:

Перейдите в > Visual Basic, чтобы запустить редактор Visual Basic (VBE),в котором хранятся макросы.

Книгу «Личные макросы» можно найти в области Project проводника слева. Если вы не видите его, перейдите в > Project проводник.

Дважды щелкните папку VBA Project (PERSONAL.xlsb) > Modules > Module1, и вы увидите пустой записанный макрос1. Вы можете удалить его или оставить, чтобы добавить код к более поздней.

Перемещение макросов на другой компьютер

Файл Personal.xlsB хранится в папке XLSTART. Если вы хотите поделиться макросами с другими, вы можете скопировать их в папку XLSTART на других компьютерах или скопировать некоторые или все макрос в файл Personal.xlsb на других компьютерах. Вы можете найти XLSTART в Windows проводнике.

Если вы хотите поделиться одним или несколькими макросами с другими людьми, вы можете отправить им книгу, содержаную их. Можно также предоставить доступ к книге на общем сетевом диске или в библиотеке служб SharePoint Services.

Дополнительные сведения о копировании макросов из одной книги в другую см. в статье Копирование модуля макроса в другую книгу.

Убедитесь, что на ленте отображается вкладка Разработчик. По умолчанию вкладка Разработчик не отображается, поэтому сделайте следующее:

Перейдите в Excel > параметры. > ленты & панель инструментов.

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

Теперь создайте макрос. Мы зафиксим макрос, который ничего не делает, но создаст личную книгу макроса.

Дополнительные сведения о создании макросов см. в разделе Краткое руководство. Создание макроса.

Перейдите на вкладку Разработчик и нажмите кнопку Запись макроса.

В диалоговом окне Запись макроса не помешает ввести имя макроса в поле Имя макроса. Вы можете принять имя, которое Excel, например Макрос1, так как это просто временный макрос.

Когда вы начнете создавать собственные макросы, вам нужно будет дать им описательные имена, чтобы вы знали, что они делают.

В поле Сохранить в выберите Личная книга макроса и > ОК. Это самый важный шаг, так как если у вас еще нет личной книги макроса, Excel создаст ее.

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

Чтобы увидеть созданный макрос:

Нажмите кнопку > Visual Basic, чтобы запустить редактор Visual Basic (VBE),в котором хранятся макросы.

Книгу «Личные макросы» можно найти в области Project проводника слева. Если вы не видите его, перейдите в > Project проводник.

Дважды щелкните папку VBA Project (PERSONAL.xlsb) > Modules > Module1, и вы увидите пустой записанный макрос1. Вы можете удалить его или оставить, чтобы добавить код к более поздней.

Перемещение макросов на другой компьютер

Если вы хотите поделиться одним или несколькими макросами с другими людьми, вы можете отправить им книгу, содержаную их. Можно также предоставить доступ к книге на общем сетевом диске или в библиотеке служб SharePoint Services.

Дополнительные сведения о копировании макросов из одной книги в другую см. в статье Копирование модуля макроса в другую книгу.

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

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

Источник

Как перенести макросы excel на другой компьютер

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

Перенос VBA макроса из одной книги в другую

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

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

80091365

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

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

07930980

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

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

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

67751750

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

96255055

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

76129779

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

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

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

Источник

Понравилась статья? Поделить с друзьями:
  • Как копировать лист в excel с листа с формулами
  • Как копировать лист в excel в другой документ
  • Как копировать кнопкой мыши в excel
  • Как копировать клавишами в word
  • Как копировать клавишами в excel