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

Обновлено: 30.06.2024

Вот, посмотрите, кому интересно. Может пригодиться.

Ситуация, наверное, типичная…
Я юзаю два компа: один на работе (под ХРюшей), другой дома (Виста). На обоих компах Excel-2003.
Большую часть макросов в Personal.xls и доработок панелей управления делаю на работе
За несколько лет наделал много своих кнопочек для вызова макросов, своих менюшек со своими кнопочками, своих кнопочек в стандартных менюшках.
Хочется и дома иметь такой же настроенный "под себя" Excel, как и на работе.
Но к сожалению просто тупо подложить домашнему Ёкселю файл Excel11.xlb вместе с папочкой XLSTART нельзя, т.к. не совпадают пути к макросам, лежащим в Personal.xls
А сидеть и просто в режиме настройки перепрописывать макросы, прикреплённые к каждой кнопочке жутко лень.
Вот я и начал на разных форумах мучить знатоков вопросом "Как перенести настройки Excel на другой компьютер?"
После не очень продолжительных допросов уважаемый Дмитрий (The_Prist) в форуме на своём сайте доделал-таки давно "зачатый" им макрос, перепрописывающий у самодельных кнопок панелей управления все пути к макросам, лежащим в Personal.xls.
А я плоды его трудов "покрыл лачком" и оформил в отдельный файл.
Отлично работает. Очень удобно стало синхронизировать рабочий и домашний Ёксели.

Вот, посмотрите, кому интересно. Может пригодиться. Alex_ST

Вот, посмотрите, кому интересно. Может пригодиться. Автор - Alex_ST
Дата добавления - 15.05.2011 в 22:57

Ещё подпилил макрос (с помощью Дмитрия, естественно)
Теперь уже, кажется, финальный вариант
Путь в OnAction теперь меняется только у тех кнопок, которые ссылаются на макросы, расположенные в Personal.xls
Да и путь к Personal.xls самостоятельно вбивать в ячейки нет необходимости.

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

Ну, или вот отдельным файлом

Ещё подпилил макрос (с помощью Дмитрия, естественно)
Теперь уже, кажется, финальный вариант
Путь в OnAction теперь меняется только у тех кнопок, которые ссылаются на макросы, расположенные в Personal.xls
Да и путь к Personal.xls самостоятельно вбивать в ячейки нет необходимости.

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

Ну, или вот отдельным файлом Alex_ST


С уважением,
Алексей
MS Excel 2003 - the best.

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

Ну, или вот отдельным файлом Автор - Alex_ST
Дата добавления - 16.05.2011 в 15:56

Вот и ко мне пришла беда: почти совсем накернился мой старый комп с ХРюшей на работе и мне подогнали новый - с Win-7.
Надо переносить свой Excel вместе со всеми макросами, кнопочками и настройками на другую систему. Как хорошо, что макрос заранее написАл! Вот и ко мне пришла беда: почти совсем накернился мой старый комп с ХРюшей на работе и мне подогнали новый - с Win-7.
Надо переносить свой Excel вместе со всеми макросами, кнопочками и настройками на другую систему. Как хорошо, что макрос заранее написАл! Alex_ST Alex_ST, а инструкция есть на пользования данным макросом? Или это только для продвинутых пользователей? Посмотрел все дружественные форумы с вашим участием на эту тему - инструкции не нашел к сожалению Alex_ST, а инструкция есть на пользования данным макросом? Или это только для продвинутых пользователей? Посмотрел все дружественные форумы с вашим участием на эту тему - инструкции не нашел к сожалению ovechkin1973

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

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

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

Вот есть .тхт, как переслать его на другой компутер?
Я записал необходимые ячейки с экселя в .тхт, затем научил другой эксель файл считыватьданные с.


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

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

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

Для корректного переноса модулей, в которых содержатся макросы есть в меню Файл (в редакторе ВБ) две строчки 'Import File' и 'Export File' вот ими и пользуйся. Но задача-то у тебя какая?, разве тебе это нужно? Книга, содержащая в себе макросы, уже самодостаточна и будет на другой машине работать.
Панельки не перетаскиваются никак. Советую их генерировать (опять же макросом) при запуске книги и удалять по закрытии её. Очень корректно и уважительно по отношению к юзеру. Исходя из этого, иконки следует использовать стандартные. Всё. Однако, панельки (пользовательские, а не общие) удачно вкладываются в .xls-файлы и спокойно переносятся на другие компы. Смотри: 'Настройка'/Вложить. То же самое могу сказать и про код проги (особенно, если его писать в проект текущей книги).

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

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

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

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

Я сохранял (вкладывал) в книгу панель под названием 'Макросы'.
При открытии появлялась другая панель 'Макросы'.
Я появляющуюся взял и переименовал. Закрыл Excel.
Стал заново шаблон пускать - панелька сама появилась.

Лучше создать пользовательскую панель со 'своим именем' стандартное имя МАКРОСЫ чаще запутает картину. И не забудь, что всякие изменения в стуктуре панели должны быть ПЕРЕВЛОЖЕНЫ, т.е. из меню 'Вложить' сначала из книги нужно 'Удалить' старую панель и затем еще раз 'Вложить' новое состояние панели (доже если изменения коснулись только назначенных макросов кнопкам). Интересная штучка - Удаление панели. Только как бы так сделать, чтобы панель удалялась при закрытии Excel-файла или при закрытии всего Excel. Не хочется создавать и ставить на 'панель моих макросов' еще один макрос, который будет сам уничтожать панель, его же и породившую.
Нельзя ли как-то ассоциировать команду закрытия панели с действием (событием) закрытия файла Excel? Вопрос вдогонку: панель-то я удаляю макросом, а как ее заново открыть, не перезагружая Excel? позволяет 'убирать . за собой' как при закрытии текущей книги (где и находится вложенная ТВОЯ_ПАНЕЛЬ) так и при закрытии всего Excel-я Дополнение вдогонку:
панель заново откроется при загрузке .xls-файла в который она вложена

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

P.S. И убирается при 'закрывании'. Проверено - мин нет.

Это НЕ 'какая-то приватная функция' а функция обработки события (перевожу - ПЕРЕД ЗАКРЫТИЕМ ДАННОЙ КНИГИ).
В окне (нужного!) проекта кликаешь на ThisWorkbook и в окне программы выбираешь нужное событие (BeforeClose)- получаешь в нужном месте нужную приватную функцию в которую вставляешь строку

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

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

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

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

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

Вкладка "Разработчик" на ленте

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

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

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

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

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

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

Щелкните Разработчик > Остановитьзапись , Excel создайте личную книгу макроса.

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

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

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

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

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

Примечание: При записи макроса в новом экземпляре Excel VBA автоматически создает новую папку Module и ее номер прибавления. Поэтому если у вас уже есть Module1 и Module2, VBA создаст Модуль3. Модули можно переименовать в окне Свойства под обозревателем Project ,чтобы они лучше отражали то, что делают макрос внутри них.

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

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

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

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

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

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

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

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

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

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

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

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

Щелкните Разработчик > Остановитьзапись , Excel создайте личную книгу макроса.

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

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

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

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

Примечание: При записи макроса в новом экземпляре Excel VBA автоматически создает новую папку Module и ее номер прибавления. Поэтому если у вас уже есть Module1 и Module2, VBA создаст Модуль3. Модули можно переименовать в окне Свойства под обозревателем Project ,чтобы они лучше отражали то, что делают макрос внутри них.

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

Файл Personal.xlsB хранится в папке запуска системы. Если вы хотите поделиться макросами с другими, можно скопировать Personal.xlsb в папку запуска на других компьютерах или скопировать некоторые или все макрос макроса в файл Personal.xlsb на других компьютерах. В Finder выберите Перейти, а затем, удерживая клавишу OPTION, выберите Библиотека. В области Библиотека перейдите к группе Containers > xyz.Office (где xyz — это текстовая строка, например "UBF8T346G9") > User Content > Startup > Excel. В Personal.xlsb в Excel папку.

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

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

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

Если Вы еще не знаете что представляет из себя редактор Visual Basic и как он выглядит, рекомендую ознакомиться со статьями «Что такое VBE? Как запустить редактор VB, что такое макрорекордер», а также «Копирование, вставка и последующее сохранение кода макроса в модуль редактора VB на своем ПК». Если же Вы уже знакомы с редактором, идем дальше!

Если Вы не знаете как перенести макрос с одного компьютера на другой, либо скачали из интернета файл с расширением .bas, то знайте – это экспортированный из редактора VB файл модуля, в котором содержится программный код макроса. Этот файл можно импортировать в свой редактор, сохранив тем самым макрос на свой компьютер.

Как Вам уже известно, редактор VB представляет из себя многопанельную среду. В окне редактора VBA, как правило, отображается область разработки, панель свойств объектов и панель проектов, которая нам и понадобится для осуществления импорта файла.

Итак, для импорта файла, содержащего код макроса и имеющего расширение .bas последовательно осуществляем несколько шагов:

1. Находим и переносим на жесткий диск своего компьютера файл с расширением .bas;

2. Открываем на своем компьютере редактор Visual Basic (Alt+F11), выбираем существующий проект;

3. Кликаем на нем правой кнопкой мыши и выбираем пункт «Import File»;

как импортировать макрос на свой компьютер

4. Находим место расположения файла с расширением .bas, выбираем его и жмем кнопку «Открыть», после чего модуль с программным кодом макроса появляется в вашем редакторе VB.

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

Если Вам необходимо перенести макрос со своего компьютера на какой-то другой, действуем аналогичным образом, только используем уже пункт контекстного меню «Export File…». Для удаления модуля используется команда «Remove». Если вдруг после импорта модуля макрос не запускается, то внимательно читаем статью «Что делать если макрос не работает?».

Читайте также: