Если мы говорим о формах , назначенных макросу через их свойство OnAction
, то вам не нужно копировать макрос.
Фактически, когда вы окажетеськопируйте код в любом месте, остановитесь и подумайте, есть ли способ избежать дублирования кода - всегда есть способ.
Похоже, формы прикрепляются к макросам, реализованным в коде кода листа.
Добавьте новый стандартный модуль в свой проект и переместите (вырезайте и вставляйте) код там. Следите за любыми неявными ссылками ActiveSheet в этом коде, потому что Range("A1")
делает в коде позади Worksheet
модуля Me.Range("A1")
, но в стандартном модуле ActiveSheet.Range("A1")
(то же самоес неквалифицированными Cells
, Names
, Columns
, Rows
, ...): четко указывайте, с каким листом вы работаете, и все будет хорошо.
Теперь заново свяжитеваши фигуры с макросом в стандартном модуле (то есть Sheet1!MyMacro
становится MyMacro
), и теперь вам не нужно переносить код вместе с копируемыми фигурами.