Как скопировать / продублировать пользовательскую форму - PullRequest
0 голосов
/ 30 октября 2019

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

Я пытался выполнить обычное копирование / вставку с выбранной пользовательской формой, но она не работает. Фактически, опция копирования / вставки отключена в группе изданий в VBA Editor.

enter image description here

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

Как я показываю на следующем изображении, я экспортировал пользовательскую форму с другим именем из исходной пользовательской формы, имя которой - UserForm1, вместо этого я сохранил ее как UserForm2.

enter image description here

Это действие возвращает мне ошибку о том, что имя «UserForm1» уже используется.

enter image description here

Мне нужно продублировать эту пользовательскую форму в моем проекте, изменив имя

Ответы [ 2 ]

3 голосов
/ 30 октября 2019

Это связано с тем, что собственное имя формы скрыто внутри файла, а само имя файла игнорируется при импорте формы. Если вам действительно нужна вторая пользовательская форма только в проекте, я бы предложил сделать следующее:

  1. экспортировать пользовательскую форму как есть (без переименования во время сохранения)
  2. переименуйте UserForm1 в UserForm2 (только в окне свойств)
  3. import UserForm1

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

например:

dim f1 as new UserForm1
dim f2 as new UserForm1

f1.show
f2.show
2 голосов
/ 30 октября 2019

Для тех, кто заходит в эту ветку, потому что они хотят использовать одну и ту же форму в том же проекте, следуйте советам @ Tomek Kubiak.

Длявсем остальным, я предполагал, что вы «могли» экспортировать / переименовывать / импортировать, но вам нужно было бы открыть меню и выбрать экспорт и справиться с трудностями сохранения файла, а это даже не половина, вам нужно открыть другое меню, чтобывернуть его в дополнение к тому, чтобы вспомнить, где вы его сохранили. И переименовать его!?! Это слишком много работы для меня, чтобы отследить, и если вы похожи на меня, вы уже забыли третий шаг.

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

.

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