Страницы: 1
RSS
Перенос макроса в другую книгу
 
Проблема в следующем:
Есть макрос, который необходимо использовать в разных эксельках.
Что я делаю:
Я экспортирую этот макрос в файл, потом хочу импортнуть его в нужную книгу.
Все бы ничего, но макрос импортиться в проекте в модуль в разделе Class Modules (см. скриншот)

От туда его VBA не дает его запускать.
Хорошо бы его засунуть в Modules либо Microsoft Excel Objects. Но этого
я как раз не знаю как сделать.

Есть вариант создать пустой макрос и скопировать туда код, но этот кривой способ мне не нравится.
Хочу понять есть ли нормальный способ переноса макросов из книги в книгу, и можно ли это реальзовать примерно тем способом, как я это пытаюсь сделать.
Нагугливание проблемы пока ничего не дало.
 
Просто перетащите его мышкой из проекта в проект.
 
когда макрос привязан к самой книге и находиться в разделе Microsoft Excel Objects, перетаскивание не работает. И есть еще второй существенный минус: чтоб перенести макрос, надо таскать за собой всю книгу.
Если ли способ адекватно работать с импортами и экспортами? А так же адекватно работать с частями проэкта, те подключать части в те разделы, куда это действительно нужно.
 
Что-то Вы путаете... На Вашем скрине вижу Модуль1. Находится, как ему и положено, в Modules,
 
Что за макрос? Почему он не может быть в модуле?
И вообще - зачем его нужно помещать в другие книги? Может быть его можно использовать из одной книги-инструмента на любой другой книге?
 
нужный макрос находится как и писал раньше в Microsoft Excel Objects
модуль1 это уже другая история
Изменено: bogis - 20.04.2013 09:02:34
 
Когда уже в школе начнут учить эти тся/ться...
А то непонятно - макрос может/должен находиться/находится, но не находиться/находится, или всёж уже находится/находиться...
ибо задолбало... извините если кого обидел  :)
Изменено: Hugo - 19.04.2013 22:42:18
 
Цитата
bogis пишет:
нужный макрос находиться как и писал раньше вMicrosoft Excel Objects
Покажите эту книгу.
 
Если код записан в модуле листа или книги - то перетаскивание работать не будет. Необходимо копировать сам код и вставлять в другую книгу так же в модуль листа или книги.
Судя по названию модуля класса - у Вас это именно в модуле книги - ЭтаКнига. Следовательно выбора у Вас нет - только копированием из модуля в модуль. Ни о каком экспорте речи быть не может. Можно только вынести основной код в стандатрный модуль, а в ЭтаКнига оставить лишь процедуры вызова.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Можно переносить макросом.
Пример кода есть здесь: Programming The VBA Editor, смотреть функцию CopyModule
 
пока не покажете сам код, нельзя сказать определеннее, но вызывает сомнение обязательное расположение кода в модуле класса..
Живи и дай жить..
Страницы: 1
Наверх